openshift-python-wrapper 4.20.7__tar.gz → 4.20.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. openshift_python_wrapper-4.20.8/.git +1 -0
  2. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.pre-commit-config.yaml +2 -2
  3. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/PKG-INFO +2 -2
  4. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/cli.py +3 -4
  5. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/discovery.py +1 -1
  6. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/generator.py +2 -2
  7. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/schema.py +9 -11
  8. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/type_parser.py +1 -1
  9. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/user_code_parser.py +1 -1
  10. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/APIServer}/api_server.py +2 -0
  11. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ConfigMap/config_map.py +1 -0
  12. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/DNS}/dns_config_openshift_io.py +2 -0
  13. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/DNS}/dns_operator_openshift_io.py +2 -0
  14. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Deployment/deployment.py +1 -0
  15. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/ImageContentSourcePolicy}/image_content_source_policy.py +2 -0
  16. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/Ingress}/ingress_config_openshift_io.py +2 -0
  17. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/Ingress}/ingress_networking_k8s_io.py +2 -0
  18. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Machine/machine.py +1 -0
  19. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/NMState}/nm_state.py +2 -0
  20. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/OAuth}/oauth.py +2 -0
  21. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/Pipeline}/pipeline.py +2 -0
  22. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Pod/pod.py +1 -0
  23. {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/RouteAdvertisements}/route_advertisements.py +3 -1
  24. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Secret/secret.py +1 -0
  25. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +1 -0
  26. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +1 -0
  27. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/test_parse_explain.j2 +2 -2
  28. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_class_generator.py +17 -19
  29. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_resource_discovery.py +75 -81
  30. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/utils.py +34 -35
  31. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/resource_list.py +1 -1
  32. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/validation_demo.py +4 -3
  33. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/dynamic_client.py +4 -4
  34. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/exceptions.py +1 -5
  35. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/kubernetes_client.py +13 -13
  36. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_field.py +3 -2
  37. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_instance.py +21 -20
  38. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_manager.py +11 -13
  39. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_registry.py +9 -9
  40. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_storage.py +8 -12
  41. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/status_schema_parser.py +3 -3
  42. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/status_templates.py +2 -2
  43. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/example_client.py +1 -0
  44. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/server.py +5 -5
  45. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/tests/test_server.py +10 -10
  46. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/aaq.py +1 -0
  47. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/authorino.py +2 -1
  48. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/backup.py +0 -1
  49. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/catalog_source.py +3 -2
  50. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cdi.py +1 -0
  51. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/chaos_engine.py +0 -2
  52. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/chaos_result.py +0 -2
  53. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_resource_quota.py +2 -1
  54. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_role.py +0 -1
  55. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_role_binding.py +0 -2
  56. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_user_defined_network.py +2 -1
  57. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_imageregistry_operator_openshift_io.py +2 -1
  58. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_operator_openshift_io.py +1 -0
  59. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_samples_operator_openshift_io.py +1 -0
  60. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_config_openshift_io.py +1 -0
  61. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_operator_openshift_io.py +1 -0
  62. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/csi_driver.py +1 -0
  63. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/data_import_cron.py +2 -1
  64. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/data_science_cluster.py +1 -0
  65. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/data_source.py +2 -0
  66. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/datavolume.py +13 -9
  67. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/destination_rule.py +0 -2
  68. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/direct_volume_migration.py +1 -0
  69. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/direct_volume_migration_progress.py +1 -0
  70. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/dsc_initialization.py +2 -1
  71. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/frr_configuration.py +1 -0
  72. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway.py +0 -2
  73. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway_class.py +2 -1
  74. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway_gateway_networking_k8s_io.py +2 -1
  75. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway_networking_istio_io.py +1 -0
  76. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/group.py +2 -1
  77. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/hostpath_provisioner.py +1 -2
  78. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_config_openshift_io.py +1 -0
  79. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_image_openshift_io.py +1 -0
  80. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/inference_graph.py +2 -1
  81. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/jaeger.py +1 -0
  82. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/kube_descheduler.py +1 -0
  83. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/kubelet_config.py +1 -0
  84. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/kubevirt.py +1 -0
  85. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/llama_stack_distribution.py +2 -1
  86. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/llm_inference_service.py +1 -0
  87. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/lm_eval_job.py +2 -1
  88. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_set.py +3 -2
  89. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/maria_db.py +1 -0
  90. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mariadb_operator.py +1 -0
  91. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_analytic.py +2 -1
  92. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_cluster.py +2 -1
  93. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_migration.py +2 -1
  94. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_plan.py +1 -0
  95. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/model_registry_components_platform_opendatahub_io.py +1 -0
  96. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +2 -1
  97. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_namespace_virtual_machine_storage_migration.py +2 -1
  98. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py +2 -1
  99. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/namespace.py +1 -0
  100. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_config_openshift_io.py +1 -0
  101. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_operator_openshift_io.py +1 -0
  102. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_policy.py +2 -1
  103. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_config_openshift_io.py +1 -0
  104. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/notebook.py +1 -0
  105. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/open_telemetry_collector.py +2 -1
  106. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator.py +1 -0
  107. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/peer_authentication.py +0 -2
  108. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/persistent_volume.py +0 -2
  109. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/persistent_volume_claim.py +1 -3
  110. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pipeline_run.py +1 -0
  111. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pod_metrics.py +2 -1
  112. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/project_config_openshift_io.py +1 -0
  113. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/project_project_openshift_io.py +1 -0
  114. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/prometheus.py +1 -0
  115. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/replica_set.py +2 -1
  116. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/resource.py +10 -12
  117. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/restore.py +0 -2
  118. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/rhmi.py +2 -1
  119. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/role.py +1 -2
  120. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/role_binding.py +1 -2
  121. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/route.py +1 -2
  122. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/scaled_object.py +2 -1
  123. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/scheduler.py +1 -0
  124. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/security_context_constraints.py +2 -1
  125. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/self_subject_review.py +1 -0
  126. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service.py +1 -0
  127. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_account.py +1 -0
  128. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_mesh_control_plane.py +0 -2
  129. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_mesh_member.py +2 -1
  130. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_mesh_member_roll.py +0 -2
  131. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/serving_runtime.py +2 -1
  132. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/snapshot.py +2 -1
  133. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sriov_network_node_state.py +2 -1
  134. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ssp.py +2 -1
  135. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_class.py +0 -1
  136. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_cluster.py +1 -0
  137. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_profile.py +0 -2
  138. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/task.py +1 -0
  139. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/task_run.py +1 -0
  140. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/tempo_stack.py +2 -1
  141. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/upload_token_request.py +1 -3
  142. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/user.py +2 -1
  143. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/schema_validator.py +11 -8
  144. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_cluster_instancetype.py +2 -1
  145. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_cluster_preference.py +1 -0
  146. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_export.py +2 -1
  147. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_import.py +2 -4
  148. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance_migration.py +1 -0
  149. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance_preset.py +2 -1
  150. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance_replica_set.py +2 -1
  151. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instancetype.py +2 -1
  152. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_preference.py +1 -0
  153. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_restore.py +2 -4
  154. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_snapshot.py +2 -4
  155. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_storage_migration.py +2 -1
  156. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_storage_migration_plan.py +2 -1
  157. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_service.py +0 -2
  158. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/volume_snapshot.py +2 -1
  159. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/volume_snapshot_class.py +2 -1
  160. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/pyproject.toml +29 -2
  161. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/scripts/generate_pytest_test.py +3 -3
  162. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/scripts/validate_resources.py +4 -3
  163. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_api_group_order.py +2 -2
  164. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_aaq.py +1 -0
  165. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_api_server.py +1 -0
  166. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_authorino.py +1 -0
  167. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cdi.py +1 -0
  168. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cdi_config.py +1 -0
  169. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cluster_resource_quota.py +1 -0
  170. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cluster_user_defined_network.py +1 -0
  171. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_config_map.py +1 -0
  172. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_console_config_openshift_io.py +1 -0
  173. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_console_operator_openshift_io.py +1 -0
  174. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_csi_driver.py +1 -0
  175. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_data_import_cron.py +1 -0
  176. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_data_science_cluster.py +1 -0
  177. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_deployment.py +1 -0
  178. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_direct_volume_migration.py +1 -0
  179. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_direct_volume_migration_progress.py +1 -0
  180. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_dns_config_openshift_io.py +1 -0
  181. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_dns_operator_openshift_io.py +1 -0
  182. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_dsc_initialization.py +1 -0
  183. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_group.py +1 -0
  184. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_guardrails_orchestrator.py +1 -0
  185. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_caching_internal_knative_dev.py +1 -0
  186. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_config_openshift_io.py +1 -0
  187. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_content_source_policy.py +1 -0
  188. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_image_openshift_io.py +1 -0
  189. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_inference_graph.py +1 -0
  190. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_kube_descheduler.py +1 -0
  191. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_kubelet_config.py +1 -0
  192. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_kubevirt.py +1 -0
  193. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_llama_stack_distribution.py +1 -0
  194. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_lm_eval_job.py +1 -0
  195. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_machine.py +1 -0
  196. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_maria_db.py +1 -0
  197. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mariadb_operator.py +1 -0
  198. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_analytic.py +1 -0
  199. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_cluster.py +1 -0
  200. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_migration.py +1 -0
  201. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_plan.py +1 -0
  202. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_model_registry.py +1 -0
  203. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +1 -0
  204. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +1 -0
  205. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mtq.py +1 -0
  206. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_namespace.py +1 -0
  207. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_network_config_openshift_io.py +1 -0
  208. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_network_operator_openshift_io.py +1 -0
  209. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_nm_state.py +1 -0
  210. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_node.py +1 -0
  211. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_node_config_openshift_io.py +1 -0
  212. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_node_network_configuration_policy_latest.py +1 -0
  213. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_notebook.py +1 -0
  214. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_oauth.py +1 -0
  215. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_operator.py +1 -0
  216. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_pod.py +1 -0
  217. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_pod_metrics.py +1 -0
  218. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_project_config_openshift_io.py +1 -0
  219. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_project_project_openshift_io.py +1 -0
  220. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_project_request.py +2 -1
  221. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_prometheus.py +1 -0
  222. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_replica_set.py +1 -0
  223. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_scheduler.py +1 -0
  224. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_security_context_constraints.py +1 -0
  225. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_self_subject_review.py +1 -0
  226. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_service.py +1 -0
  227. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_service_mesh_member.py +1 -0
  228. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_service_serving_knative_dev.py +1 -0
  229. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_serving_runtime.py +1 -0
  230. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_snapshot.py +1 -0
  231. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_ssp.py +1 -0
  232. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_storage_cluster.py +1 -0
  233. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_user.py +1 -0
  234. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_user_defined_network.py +1 -0
  235. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +1 -0
  236. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_cluster_preference.py +1 -0
  237. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_export.py +1 -0
  238. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instance_migration.py +1 -0
  239. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instance_preset.py +1 -0
  240. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instance_replica_set.py +1 -0
  241. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instancetype.py +1 -0
  242. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_preference.py +1 -0
  243. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_volume_snapshot.py +1 -0
  244. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_volume_snapshot_class.py +1 -0
  245. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_unittests.py +1 -0
  246. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/utils.py +1 -1
  247. openshift_python_wrapper-4.20.8/uv.lock +2763 -0
  248. openshift_python_wrapper-4.20.7/.git +0 -1
  249. openshift_python_wrapper-4.20.7/uv.lock +0 -2312
  250. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.coderabbit.yaml +0 -0
  251. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.dockerignore +0 -0
  252. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.flake8 +0 -0
  253. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.gitattributes +0 -0
  254. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  255. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  256. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/pull_request_template.md +0 -0
  257. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/weekly-digest.yml +0 -0
  258. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/workflows/close-stale-issues.yml +0 -0
  259. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.gitignore +0 -0
  260. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.gitleaks.toml +0 -0
  261. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.readthedocs.yaml +0 -0
  262. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.release-it.json +0 -0
  263. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.sonarcloud.properties +0 -0
  264. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/CONTRIBUTING.md +0 -0
  265. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/LICENSE +0 -0
  266. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/Makefile +0 -0
  267. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/OWNERS +0 -0
  268. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/README.md +0 -0
  269. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/VERSION +0 -0
  270. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/README.md +0 -0
  271. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/__init__.py +0 -0
  272. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/constants.py +0 -0
  273. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/__init__.py +0 -0
  274. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/coverage.py +0 -0
  275. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/formatters/__init__.py +0 -0
  276. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/formatters/file_writer.py +0 -0
  277. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/formatters/template_renderer.py +1 -1
  278. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/manifests/class_generator_template.j2 +0 -0
  279. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/__init__.py +0 -0
  280. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/explain_parser.py +0 -0
  281. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/py.typed +0 -0
  282. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/schema/__cluster_version__.txt +0 -0
  283. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/schema/__resources-mappings.json.gz +0 -0
  284. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/schema/_definitions.json +0 -0
  285. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +0 -0
  286. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_batch_regeneration.py +2 -2
  287. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_cli.py +0 -0
  288. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_generation.py +0 -0
  289. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_schema_new_functions.py +5 -5
  290. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_schema_parsing.py +0 -0
  291. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_user_code_parser.py +0 -0
  292. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_utils.py +0 -0
  293. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/Makefile +0 -0
  294. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/conf.py +0 -0
  295. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/index.rst +0 -0
  296. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/modules.rst +0 -0
  297. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/ocp_resources.rst +0 -0
  298. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/general.py +0 -0
  299. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/node_network_configuration_policy.py +0 -0
  300. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/pods.py +0 -0
  301. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/role.py +0 -0
  302. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/special_cases.py +0 -0
  303. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/validation_troubleshooting.py +2 -2
  304. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/virtual_machine.py +0 -0
  305. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/README.md +0 -0
  306. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/__init__.py +3 -3
  307. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/configuration.py +0 -0
  308. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/types.py +0 -0
  309. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/README.md +0 -0
  310. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/__init__.py +0 -0
  311. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/server-info.json +0 -0
  312. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/tests/__init__.py +0 -0
  313. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/__init__.py +0 -0
  314. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/APIServer → openshift_python_wrapper-4.20.8/ocp_resources}/api_server.py +0 -0
  315. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/api_service.py +0 -0
  316. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
  317. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
  318. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/application_aware_resource_quota.py +0 -0
  319. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/benchmark.py +0 -0
  320. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/bgp_session_state.py +0 -0
  321. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cdi_config.py +0 -0
  322. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_claim.py +0 -0
  323. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_deployment.py +0 -0
  324. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_operator.py +0 -0
  325. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_pool.py +0 -0
  326. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_service_version.py +0 -0
  327. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_version.py +0 -0
  328. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_map.py +0 -0
  329. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_cli_download.py +0 -0
  330. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_plugin.py +0 -0
  331. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_quick_start.py +0 -0
  332. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/controller_revision.py +0 -0
  333. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cron_job.py +0 -0
  334. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/csi_storage_capacity.py +0 -0
  335. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/custom_resource_definition.py +0 -0
  336. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/daemonset.py +2 -2
  337. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/deployment.py +0 -0
  338. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/DNS → openshift_python_wrapper-4.20.8/ocp_resources}/dns_config_openshift_io.py +0 -0
  339. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/DNS → openshift_python_wrapper-4.20.8/ocp_resources}/dns_operator_openshift_io.py +0 -0
  340. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/endpoint_slice.py +1 -1
  341. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/endpoints.py +1 -1
  342. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/event.py +0 -0
  343. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/exceptions.py +0 -0
  344. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/fence_agent_remediation_templates.py +0 -0
  345. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/forklift_controller.py +0 -0
  346. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/guardrails_orchestrator.py +2 -2
  347. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/hook.py +1 -1
  348. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/host.py +1 -1
  349. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/hyperconverged.py +1 -1
  350. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
  351. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/ImageContentSourcePolicy → openshift_python_wrapper-4.20.8/ocp_resources}/image_content_source_policy.py +0 -0
  352. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_digest_mirror_set.py +0 -0
  353. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_stream.py +1 -1
  354. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/imagestreamtag.py +0 -0
  355. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/inference_service.py +0 -0
  356. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/infrastructure.py +0 -0
  357. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.20.8/ocp_resources}/ingress_config_openshift_io.py +0 -0
  358. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ingress_controller.py +0 -0
  359. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.20.8/ocp_resources}/ingress_networking_k8s_io.py +0 -0
  360. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/installplan.py +0 -0
  361. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ip_address_pool.py +0 -0
  362. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/job.py +1 -1
  363. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/l2_advertisement.py +0 -0
  364. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/lease.py +1 -1
  365. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/limit_range.py +0 -0
  366. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine.py +0 -0
  367. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_config.py +0 -0
  368. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_config_pool.py +0 -0
  369. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_health_check.py +1 -1
  370. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/managed_cluster.py +0 -0
  371. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/metallb.py +0 -0
  372. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_controller.py +0 -0
  373. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/migration.py +1 -1
  374. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/migration_policy.py +0 -0
  375. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/model_registry.py +0 -0
  376. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mtq.py +0 -0
  377. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_cluster_hub.py +0 -0
  378. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_cluster_observability.py +0 -0
  379. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_network_policy.py +0 -0
  380. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mutating_webhook_config.py +0 -0
  381. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_addons_config.py +0 -0
  382. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_attachment_definition.py +0 -0
  383. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_map.py +1 -1
  384. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/NMState → openshift_python_wrapper-4.20.8/ocp_resources}/nm_state.py +0 -0
  385. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node.py +0 -0
  386. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_health_check.py +0 -0
  387. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_maintenance.py +0 -0
  388. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_configuration_enactment.py +0 -0
  389. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_configuration_policy.py +2 -2
  390. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
  391. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_state.py +2 -2
  392. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/OAuth → openshift_python_wrapper-4.20.8/ocp_resources}/oauth.py +0 -0
  393. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ocs_initialization.py +1 -1
  394. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_condition.py +0 -0
  395. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_group.py +1 -1
  396. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_hub.py +0 -0
  397. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_source.py +1 -1
  398. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/package_manifest.py +0 -0
  399. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/performance_profile.py +0 -0
  400. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Pipeline → openshift_python_wrapper-4.20.8/ocp_resources}/pipeline.py +0 -0
  401. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/plan.py +0 -0
  402. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pod.py +0 -0
  403. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pod_disruption_budget.py +1 -1
  404. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/priority_class.py +1 -1
  405. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/project_request.py +0 -0
  406. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/prometheus_rule.py +0 -0
  407. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/provider.py +0 -0
  408. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/proxy.py +0 -0
  409. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/py.typed +0 -0
  410. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/reclaim_space_cron_job.py +0 -0
  411. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/reclaim_space_job.py +0 -0
  412. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/resource_quota.py +0 -0
  413. {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/RouteAdvertisements → openshift_python_wrapper-4.20.8/ocp_resources}/route_advertisements.py +0 -0
  414. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sealed_secret.py +0 -0
  415. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/secret.py +1 -1
  416. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/self_node_remediation_templates.py +0 -0
  417. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_monitor.py +0 -0
  418. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_serving_knative_dev.py +0 -0
  419. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sriov_network.py +1 -1
  420. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sriov_network_node_policy.py +1 -1
  421. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_map.py +1 -1
  422. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/subscription.py +1 -1
  423. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/tekton_tasks.py +0 -0
  424. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/template.py +0 -0
  425. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/trustyai_service.py +0 -0
  426. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/user_defined_network.py +0 -0
  427. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/__init__.py +0 -0
  428. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/archive_utils.py +0 -0
  429. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/constants.py +0 -0
  430. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/resource_constants.py +0 -0
  431. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/utils.py +0 -0
  432. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/validating_webhook_config.py +0 -0
  433. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine.py +0 -0
  434. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_clone.py +0 -0
  435. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance.py +0 -0
  436. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
  437. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/vm_import_config.py +0 -0
  438. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/pypi-dist/.gitignore +0 -0
  439. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/renovate.json +0 -0
  440. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/__init__.py +0 -0
  441. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/diff-from-latest-release.sh +0 -0
  442. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/diff-from-tag.sh +0 -0
  443. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/generate_changelog.py +0 -0
  444. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/get-latest-release.sh +0 -0
  445. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/sonar-project.properties +0 -0
  446. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/__init__.py +0 -0
  447. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/conftest.py +0 -0
  448. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/fixtures/validation_schemas.py +0 -0
  449. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/manifests/vm.yaml +0 -0
  450. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/scripts/__init__.py +0 -0
  451. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_camelcase_to_snake.py +0 -0
  452. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resource.py +0 -0
  453. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resource_validation.py +0 -0
  454. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_schema_loading.py +0 -0
  455. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_validate_resources.py +0 -0
  456. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_validate_resources_script.py +0 -0
  457. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_validation_error.py +0 -0
  458. {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tox.toml +0 -0
@@ -0,0 +1 @@
1
+ gitdir: /tmp/github-webhook-openshift-python-wrapper-zslul6r2/.git/worktrees/github-webhook-openshift-python-wrapper-zslul6r2-worktree-6689080a-f1a6-4520-b182-7e93e358d7b3
@@ -45,7 +45,7 @@ repos:
45
45
  ]
46
46
 
47
47
  - repo: https://github.com/astral-sh/ruff-pre-commit
48
- rev: v0.14.2
48
+ rev: v0.15.14
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.20.2
59
+ rev: v2.1.0
60
60
  hooks:
61
61
  - id: mypy
62
62
  exclude: ^(tests/|examples/|docs/)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openshift-python-wrapper
3
- Version: 4.20.7
3
+ Version: 4.20.8
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/
@@ -20,7 +20,7 @@ Requires-Dist: deepdiff>=8.0.1
20
20
  Requires-Dist: fastmcp>=2.10.4
21
21
  Requires-Dist: jinja2>=3.1.4
22
22
  Requires-Dist: jsonschema>=4.20.0
23
- Requires-Dist: kubernetes>=31.0.0
23
+ Requires-Dist: kubernetes!=36.0.0,>=31.0.0
24
24
  Requires-Dist: packaging>=24.1
25
25
  Requires-Dist: pyhelper-utils>=0.0.42
26
26
  Requires-Dist: python-benedict>=0.33.2
@@ -1,14 +1,13 @@
1
1
  """Command-line interface for the class generator."""
2
2
 
3
3
  import fnmatch
4
+ import logging
4
5
  import shutil
5
6
  import sys
6
7
  from datetime import datetime
7
8
  from pathlib import Path
8
9
  from typing import Any
9
10
 
10
- import logging
11
-
12
11
  import cloup
13
12
  from cloup.constraints import If, IsSet, accept_none, require_one
14
13
  from simple_logger.logger import get_logger
@@ -17,7 +16,7 @@ from class_generator.constants import TESTS_MANIFESTS_DIR
17
16
  from class_generator.core.coverage import analyze_coverage, generate_report
18
17
  from class_generator.core.discovery import discover_generated_resources
19
18
  from class_generator.core.generator import class_generator
20
- from class_generator.core.schema import update_kind_schema, ClusterVersionError
19
+ from class_generator.core.schema import ClusterVersionError, update_kind_schema
21
20
  from class_generator.tests.test_generation import generate_class_generator_tests
22
21
  from class_generator.utils import execute_parallel_tasks
23
22
  from ocp_resources.utils.utils import convert_camel_case_to_snake_case
@@ -57,7 +56,7 @@ def handle_schema_update(update_schema: bool, generate_missing: bool) -> bool:
57
56
  LOGGER.info("Updating resource schema...")
58
57
  try:
59
58
  update_kind_schema()
60
- except (RuntimeError, IOError, ClusterVersionError) as e:
59
+ except (OSError, RuntimeError, ClusterVersionError) as e:
61
60
  LOGGER.exception(f"Failed to update schema: {e}")
62
61
  sys.exit(1)
63
62
 
@@ -1,8 +1,8 @@
1
1
  """Discovery functions for finding cluster resources and generated files."""
2
2
 
3
+ from concurrent.futures import Future, ThreadPoolExecutor, as_completed
3
4
  from pathlib import Path
4
5
  from typing import Any
5
- from concurrent.futures import ThreadPoolExecutor, as_completed, Future
6
6
 
7
7
  from kubernetes.dynamic import DynamicClient
8
8
  from simple_logger.logger import get_logger
@@ -155,7 +155,7 @@ def class_generator(
155
155
  LOGGER.info("Updating schema")
156
156
  try:
157
157
  update_kind_schema()
158
- except (RuntimeError, IOError) as e:
158
+ except (OSError, RuntimeError) as e:
159
159
  error_msg = f"Failed to update schema: {e}"
160
160
  LOGGER.error(error_msg)
161
161
  raise RuntimeError(error_msg) from e
@@ -188,7 +188,7 @@ def class_generator(
188
188
  unique_groups = set()
189
189
  for resource in resources:
190
190
  # Use the original group name that we stored
191
- if "original_group" in resource and resource["original_group"]:
191
+ if resource.get("original_group"):
192
192
  unique_groups.add(resource["original_group"])
193
193
 
194
194
  use_output_file_suffix: bool = len(unique_groups) > 1
@@ -12,7 +12,7 @@ from pyhelper_utils.shell import run_command
12
12
  from simple_logger.logger import get_logger
13
13
 
14
14
  from class_generator.constants import DEFINITIONS_FILE, RESOURCES_MAPPING_FILE, SCHEMA_DIR
15
- from class_generator.utils import execute_parallel_with_mapping, execute_parallel_tasks
15
+ from class_generator.utils import execute_parallel_tasks, execute_parallel_with_mapping
16
16
  from ocp_resources.utils.archive_utils import save_json_archive
17
17
  from ocp_resources.utils.schema_validator import SchemaValidator
18
18
 
@@ -22,8 +22,6 @@ LOGGER = get_logger(name=__name__)
22
22
  class ClusterVersionError(Exception):
23
23
  """Raised when there are issues with cluster version operations."""
24
24
 
25
- pass
26
-
27
25
 
28
26
  def get_client_binary() -> str:
29
27
  """Determine whether to use 'oc' or 'kubectl' binary."""
@@ -138,7 +136,7 @@ def check_and_update_cluster_version(client: str) -> bool:
138
136
  try:
139
137
  with open(cluster_version_file, "r") as fd:
140
138
  last_cluster_version_generated = fd.read().strip()
141
- except (FileNotFoundError, IOError):
139
+ except (OSError, FileNotFoundError):
142
140
  # Treat missing file as first run - use baseline version that allows updates
143
141
  last_cluster_version_generated = "v0.0.0"
144
142
  LOGGER.info("Cluster version file not found - treating as first run with baseline version v0.0.0")
@@ -1360,10 +1358,10 @@ def write_schema_files(
1360
1358
  # Ensure schema directory exists
1361
1359
  try:
1362
1360
  Path(SCHEMA_DIR).mkdir(parents=True, exist_ok=True)
1363
- except (OSError, IOError) as e:
1361
+ except OSError as e:
1364
1362
  error_msg = f"Failed to create schema directory {SCHEMA_DIR}: {e}"
1365
1363
  LOGGER.error(error_msg)
1366
- raise IOError(error_msg) from e
1364
+ raise OSError(error_msg) from e
1367
1365
 
1368
1366
  # Fetch missing core definitions if schemas are available
1369
1367
  if schemas:
@@ -1400,18 +1398,18 @@ def write_schema_files(
1400
1398
  with open(definitions_file, "w") as fd:
1401
1399
  json.dump(definitions_data, fd, indent=2, sort_keys=True)
1402
1400
  LOGGER.info(f"Written {len(definitions)} definitions to {definitions_file}")
1403
- except (OSError, IOError, TypeError) as e:
1401
+ except (OSError, TypeError) as e:
1404
1402
  error_msg = f"Failed to write definitions file {definitions_file}: {e}"
1405
1403
  LOGGER.error(error_msg)
1406
- raise IOError(error_msg) from e
1404
+ raise OSError(error_msg) from e
1407
1405
 
1408
1406
  # Write and archive resources mapping
1409
1407
  try:
1410
1408
  save_json_archive(resources_mapping, RESOURCES_MAPPING_FILE)
1411
- except (OSError, IOError, TypeError) as e:
1409
+ except (OSError, TypeError) as e:
1412
1410
  error_msg = f"Failed to save and archive resources mapping file {RESOURCES_MAPPING_FILE}: {e}"
1413
1411
  LOGGER.error(error_msg)
1414
- raise IOError(error_msg) from e
1412
+ raise OSError(error_msg) from e
1415
1413
 
1416
1414
 
1417
1415
  @dataclasses.dataclass
@@ -1527,7 +1525,7 @@ def _handle_no_schemas_case() -> None:
1527
1525
  existing_definitions_data = json.load(fd)
1528
1526
  definitions = existing_definitions_data.get("definitions", {})
1529
1527
  LOGGER.info(f"Found {len(definitions)} existing definitions that will be preserved")
1530
- except (FileNotFoundError, IOError, json.JSONDecodeError):
1528
+ except (OSError, FileNotFoundError, json.JSONDecodeError):
1531
1529
  LOGGER.debug("Could not load existing definitions file. No existing definitions to preserve.")
1532
1530
 
1533
1531
 
@@ -6,7 +6,7 @@ from typing import Any
6
6
 
7
7
  from simple_logger.logger import get_logger
8
8
 
9
- from class_generator.constants import MISSING_DESCRIPTION_STR, SPEC_STR, DEFINITIONS_FILE
9
+ from class_generator.constants import DEFINITIONS_FILE, MISSING_DESCRIPTION_STR, SPEC_STR
10
10
  from class_generator.utils import sanitize_python_name
11
11
  from ocp_resources.utils.utils import convert_camel_case_to_snake_case
12
12
 
@@ -39,7 +39,7 @@ def parse_user_code_from_file(file_path: str) -> tuple[str, str]:
39
39
  f"Failed to decode file {file_path} with UTF-8 encoding. The file may contain invalid characters.",
40
40
  )
41
41
  except Exception as e:
42
- raise Exception(f"Unexpected error reading file {file_path}: {type(e).__name__}: {str(e)}")
42
+ raise Exception(f"Unexpected error reading file {file_path}: {type(e).__name__}: {e!s}")
43
43
 
44
44
  end_of_generated_code_line = " # End of generated code"
45
45
  user_code: str = ""
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -71,6 +72,7 @@ class APIServer(Resource):
71
72
  self.tls_security_profile = tls_security_profile
72
73
 
73
74
  def to_dict(self) -> None:
75
+
74
76
  super().to_dict()
75
77
 
76
78
  if not self.kind_dict and not self.yaml_file:
@@ -48,6 +48,7 @@ class ConfigMap(NamespacedResource):
48
48
  self.immutable = immutable
49
49
 
50
50
  def to_dict(self) -> None:
51
+
51
52
  super().to_dict()
52
53
 
53
54
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -54,6 +55,7 @@ class DNS(Resource):
54
55
  self.public_zone = public_zone
55
56
 
56
57
  def to_dict(self) -> None:
58
+
57
59
  super().to_dict()
58
60
 
59
61
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -93,6 +94,7 @@ class DNS(Resource):
93
94
  self.upstream_resolvers = upstream_resolvers
94
95
 
95
96
  def to_dict(self) -> None:
97
+
96
98
  super().to_dict()
97
99
 
98
100
  if not self.kind_dict and not self.yaml_file:
@@ -280,6 +280,7 @@ class Deployment(NamespacedResource):
280
280
  self.template = template
281
281
 
282
282
  def to_dict(self) -> None:
283
+
283
284
  super().to_dict()
284
285
 
285
286
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -48,6 +49,7 @@ class ImageContentSourcePolicy(Resource):
48
49
  self.repository_digest_mirrors = repository_digest_mirrors
49
50
 
50
51
  def to_dict(self) -> None:
52
+
51
53
  super().to_dict()
52
54
 
53
55
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -92,6 +93,7 @@ class Ingress(Resource):
92
93
  self.required_hsts_policies = required_hsts_policies
93
94
 
94
95
  def to_dict(self) -> None:
96
+
95
97
  super().to_dict()
96
98
 
97
99
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -41,6 +42,7 @@ class Ingress(Resource):
41
42
  self.tls = tls
42
43
 
43
44
  def to_dict(self) -> None:
45
+
44
46
  super().to_dict()
45
47
 
46
48
  if not self.kind_dict and not self.yaml_file:
@@ -69,6 +69,7 @@ class Machine(NamespacedResource):
69
69
  self.taints = taints
70
70
 
71
71
  def to_dict(self) -> None:
72
+
72
73
  super().to_dict()
73
74
 
74
75
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -76,6 +77,7 @@ class NMState(Resource):
76
77
  self.tolerations = tolerations
77
78
 
78
79
  def to_dict(self) -> None:
80
+
79
81
  super().to_dict()
80
82
 
81
83
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import Resource
6
7
 
7
8
 
@@ -41,6 +42,7 @@ class OAuth(Resource):
41
42
  self.token_config = token_config
42
43
 
43
44
  def to_dict(self) -> None:
45
+
44
46
  super().to_dict()
45
47
 
46
48
  if not self.kind_dict and not self.yaml_file:
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
+
5
6
  from ocp_resources.resource import NamespacedResource
6
7
 
7
8
 
@@ -61,6 +62,7 @@ class Pipeline(NamespacedResource):
61
62
  self.workspaces = workspaces
62
63
 
63
64
  def to_dict(self) -> None:
65
+
64
66
  super().to_dict()
65
67
 
66
68
  if not self.kind_dict and not self.yaml_file:
@@ -493,6 +493,7 @@ class Pod(NamespacedResource):
493
493
  self.volumes = volumes
494
494
 
495
495
  def to_dict(self) -> None:
496
+
496
497
  super().to_dict()
497
498
 
498
499
  if not self.kind_dict and not self.yaml_file:
@@ -2,8 +2,9 @@
2
2
 
3
3
 
4
4
  from typing import Any
5
- from ocp_resources.resource import Resource
5
+
6
6
  from ocp_resources.exceptions import MissingRequiredArgumentError
7
+ from ocp_resources.resource import Resource
7
8
 
8
9
 
9
10
  class RouteAdvertisements(Resource):
@@ -49,6 +50,7 @@ class RouteAdvertisements(Resource):
49
50
  self.target_vrf = target_vrf
50
51
 
51
52
  def to_dict(self) -> None:
53
+
52
54
  super().to_dict()
53
55
 
54
56
  if not self.kind_dict and not self.yaml_file:
@@ -53,6 +53,7 @@ class Secret(NamespacedResource):
53
53
  self.type = type
54
54
 
55
55
  def to_dict(self) -> None:
56
+
56
57
  super().to_dict()
57
58
 
58
59
  if not self.kind_dict and not self.yaml_file:
@@ -29,6 +29,7 @@ class ServiceMeshMember(NamespacedResource):
29
29
  self.control_plane_ref = control_plane_ref
30
30
 
31
31
  def to_dict(self) -> None:
32
+
32
33
  super().to_dict()
33
34
 
34
35
  if not self.kind_dict and not self.yaml_file:
@@ -97,6 +97,7 @@ class ServingRuntime(NamespacedResource):
97
97
  self.volumes = volumes
98
98
 
99
99
  def to_dict(self) -> None:
100
+
100
101
  super().to_dict()
101
102
 
102
103
  if not self.kind_dict and not self.yaml_file:
@@ -71,7 +71,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
71
71
 
72
72
  return (kind, diff_info)
73
73
 
74
- except Exception as read_error:
74
+ except Exception as read_error: # noqa: BLE001
75
75
  return (
76
76
  kind,
77
77
  f"Generated file {Path(output_file).name} does not match expected file. Error reading files for diff: {read_error}",
@@ -79,7 +79,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
79
79
 
80
80
  return None
81
81
 
82
- except Exception as e:
82
+ except Exception as e: # noqa: BLE001
83
83
  error_details = f"Exception during generation: {str(e)}\n"
84
84
  error_details += f"Traceback:\n{traceback.format_exc()}"
85
85
  return (kind, error_details)
@@ -1,15 +1,15 @@
1
1
  # Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md#adding-tests
2
2
 
3
3
  import filecmp
4
+ import traceback
4
5
  from pathlib import Path
5
- from typing import List, Tuple, Optional
6
6
 
7
7
  from class_generator.constants import TESTS_MANIFESTS_DIR
8
8
  from class_generator.core.generator import class_generator
9
9
  from class_generator.utils import execute_parallel_tasks
10
10
 
11
11
 
12
- def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]]:
12
+ def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
13
13
  """
14
14
  Test a single resource kind and return failure info if test fails.
15
15
 
@@ -44,9 +44,9 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
44
44
  if not filecmp.cmp(output_file, expected_file):
45
45
  try:
46
46
  # Read both files to show diff details
47
- with open(output_file, "r") as f:
47
+ with open(output_file) as f:
48
48
  generated_content = f.read()
49
- with open(expected_file, "r") as f:
49
+ with open(expected_file) as f:
50
50
  expected_content = f.read()
51
51
 
52
52
  # Find first difference for debugging
@@ -59,11 +59,11 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
59
59
  diff_info += f"\nGenerated lines: {len(generated_lines)}, Expected lines: {len(expected_lines)}"
60
60
 
61
61
  # Find first differing line
62
- for i, (gen_line, exp_line) in enumerate(zip(generated_lines, expected_lines)):
62
+ for i, (gen_line, exp_line) in enumerate(zip(generated_lines, expected_lines, strict=True)):
63
63
  if gen_line != exp_line:
64
64
  diff_info += f"\nFirst difference at line {i + 1}:"
65
- diff_info += f"\nGenerated: {repr(gen_line[:100])}..."
66
- diff_info += f"\nExpected: {repr(exp_line[:100])}..."
65
+ diff_info += f"\nGenerated: {gen_line[:100]!r}..."
66
+ diff_info += f"\nExpected: {exp_line[:100]!r}..."
67
67
  break
68
68
 
69
69
  if len(generated_lines) != len(expected_lines):
@@ -80,9 +80,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
80
80
  return None
81
81
 
82
82
  except Exception as e:
83
- import traceback
84
-
85
- error_details = f"Exception during generation: {str(e)}\n"
83
+ error_details = f"Exception during generation: {e!s}\n"
86
84
  error_details += f"Traceback:\n{traceback.format_exc()}"
87
85
  return (kind, error_details)
88
86
 
@@ -91,35 +89,35 @@ def test_parse_explain(tmp_path: Path) -> None:
91
89
  """Test all resource kinds in parallel and collect all failures."""
92
90
  # List of all resource kinds to test
93
91
  resource_kinds = [
92
+ "Deployment",
93
+ "Pod",
94
94
  "APIServer",
95
95
  "ClusterOperator",
96
96
  "ConfigMap",
97
97
  "DNS",
98
- "Deployment",
99
98
  "ImageContentSourcePolicy",
100
99
  "Machine",
101
100
  "NMState",
102
- "Pod",
103
101
  "Secret",
104
102
  "ServiceMeshMember",
105
- "Ingress",
106
103
  "OAuth",
107
104
  "Pipeline",
108
- "RouteAdvertisements",
109
105
  "ServingRuntime",
106
+ "Ingress",
107
+ "RouteAdvertisements",
110
108
  ]
111
109
 
112
- failures: List[Tuple[str, str]] = []
110
+ failures: list[tuple[str, str]] = []
113
111
 
114
112
  # Process test results and collect failures
115
- def process_test_result(kind: str, result: Optional[Tuple[str, str]]) -> None:
113
+ def process_test_result(kind: str, result: tuple[str, str] | None) -> None:
116
114
  if result is not None:
117
115
  failures.append(result)
118
116
 
119
117
  def handle_test_error(kind: str, exc: Exception) -> None:
120
- failures.append((kind, f"Task execution failed: {str(exc)}"))
118
+ failures.append((kind, f"Task execution failed: {exc!s}"))
121
119
 
122
- def create_test_task(kind: str) -> Optional[Tuple[str, str]]:
120
+ def create_test_task(kind: str) -> tuple[str, str] | None:
123
121
  return _test_single_resource(kind, tmp_path / f"test-{kind}")
124
122
 
125
123
  # Run tests in parallel
@@ -151,7 +149,7 @@ def test_parse_explain(tmp_path: Path) -> None:
151
149
  failure_summary = f"{len(failures)} resource(s) failed: {','.join(failed_kinds)}"
152
150
 
153
151
  # Fail the test with summary - detailed output is already printed above
154
- assert False, failure_summary
152
+ raise AssertionError(failure_summary)
155
153
 
156
154
  # If we get here, all tests passed
157
155
  print(f"\nAll {len(resource_kinds)} resource generation tests passed successfully!")