openshift-python-wrapper 4.21.1__tar.gz → 4.22.1__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 (487) hide show
  1. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.gitignore +0 -1
  2. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.pre-commit-config.yaml +3 -3
  3. openshift_python_wrapper-4.22.1/CLAUDE.md +1 -0
  4. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/CONTRIBUTING.md +24 -5
  5. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/PKG-INFO +5 -4
  6. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/core/generator.py +14 -1
  7. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/core/schema.py +86 -33
  8. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/parsers/explain_parser.py +1 -1
  9. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/parsers/user_code_parser.py +1 -2
  10. openshift_python_wrapper-4.22.1/class_generator/schema/__cluster_version__.txt +1 -0
  11. openshift_python_wrapper-4.22.1/class_generator/schema/__resources-mappings.json.gz +0 -0
  12. openshift_python_wrapper-4.22.1/class_generator/schema/_definitions.json +309537 -0
  13. openshift_python_wrapper-4.22.1/class_generator/tests/manifests/Deployment/deployment.py +323 -0
  14. {openshift_python_wrapper-4.21.1/ocp_resources → openshift_python_wrapper-4.22.1/class_generator/tests/manifests/Ingress}/ingress_networking_k8s_io.py +1 -0
  15. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/Pod/pod.py +256 -92
  16. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_schema_new_functions.py +173 -11
  17. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_user_code_parser.py +42 -2
  18. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/tests/test_server.py +0 -1
  19. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/application_aware_cluster_resource_quota.py +2 -1
  20. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/application_aware_resource_quota.py +2 -1
  21. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/authorino.py +2 -1
  22. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/catalog_source.py +2 -1
  23. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_resource_quota.py +2 -1
  24. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_role.py +2 -1
  25. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_role_binding.py +2 -1
  26. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_user_defined_network.py +2 -1
  27. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/config_imageregistry_operator_openshift_io.py +2 -1
  28. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/controller_revision.py +2 -1
  29. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cron_job.py +2 -1
  30. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/csi_storage_capacity.py +2 -1
  31. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/data_import_cron.py +2 -1
  32. openshift_python_wrapper-4.22.1/ocp_resources/data_protection_application.py +124 -0
  33. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/data_source.py +2 -1
  34. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/datavolume.py +14 -3
  35. openshift_python_wrapper-4.22.1/ocp_resources/deployment.py +385 -0
  36. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/dsc_initialization.py +2 -1
  37. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/endpoint_slice.py +2 -1
  38. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/endpoints.py +2 -1
  39. openshift_python_wrapper-4.22.1/ocp_resources/evalhub.py +85 -0
  40. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/event.py +79 -0
  41. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/fence_agent_remediation_templates.py +2 -1
  42. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/group.py +2 -1
  43. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/guardrails_orchestrator.py +36 -1
  44. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/image_caching_internal_knative_dev.py +2 -1
  45. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/image_digest_mirror_set.py +2 -1
  46. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/inference_graph.py +2 -1
  47. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/inference_service.py +2 -1
  48. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/ingress_config_openshift_io.py +1 -0
  49. {openshift_python_wrapper-4.21.1/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.22.1/ocp_resources}/ingress_networking_k8s_io.py +9 -23
  50. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/ip_address_pool.py +2 -1
  51. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/limit_range.py +2 -1
  52. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/llama_stack_distribution.py +10 -1
  53. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/lm_eval_job.py +3 -1
  54. openshift_python_wrapper-4.22.1/ocp_resources/maa_s_auth_policy.py +68 -0
  55. openshift_python_wrapper-4.22.1/ocp_resources/maa_s_model.py +53 -0
  56. openshift_python_wrapper-4.22.1/ocp_resources/maa_s_subscription.py +77 -0
  57. openshift_python_wrapper-4.22.1/ocp_resources/maas_auth_policy.py +60 -0
  58. openshift_python_wrapper-4.22.1/ocp_resources/maas_model_ref.py +44 -0
  59. openshift_python_wrapper-4.22.1/ocp_resources/maas_subscription.py +68 -0
  60. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mig_analytic.py +2 -1
  61. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mig_cluster.py +2 -1
  62. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mig_migration.py +2 -1
  63. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/migration_policy.py +5 -0
  64. openshift_python_wrapper-4.22.1/ocp_resources/mlflow.py +286 -0
  65. openshift_python_wrapper-4.22.1/ocp_resources/mlflow_config.py +68 -0
  66. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/model_registry.py +2 -1
  67. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +2 -1
  68. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/multi_cluster_observability.py +2 -1
  69. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py +13 -1
  70. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/multi_network_policy.py +2 -1
  71. openshift_python_wrapper-4.22.1/ocp_resources/nemo_guardrails.py +68 -0
  72. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/network_attachment_definition.py +2 -1
  73. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_health_check.py +2 -1
  74. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/performance_profile.py +2 -1
  75. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/plan.py +13 -0
  76. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/pod.py +275 -91
  77. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/pod_metrics.py +2 -1
  78. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/provider.py +9 -1
  79. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/reclaim_space_cron_job.py +2 -1
  80. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/reclaim_space_job.py +2 -1
  81. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/replica_set.py +2 -1
  82. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/resource.py +26 -2
  83. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/resource_quota.py +2 -1
  84. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/restore.py +2 -1
  85. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/role.py +2 -1
  86. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/sealed_secret.py +2 -1
  87. openshift_python_wrapper-4.22.1/ocp_resources/securesign.py +76 -0
  88. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/security_context_constraints.py +2 -1
  89. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service_mesh_member.py +2 -1
  90. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/serving_runtime.py +2 -1
  91. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/snapshot.py +2 -1
  92. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/ssp.py +2 -1
  93. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/storage_class.py +2 -1
  94. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/trustyai_service.py +2 -1
  95. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/user.py +2 -1
  96. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/user_defined_network.py +2 -1
  97. openshift_python_wrapper-4.22.1/ocp_resources/utils/client_config.py +97 -0
  98. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/utils/resource_constants.py +2 -0
  99. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/utils/utils.py +7 -0
  100. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_clone.py +8 -2
  101. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_cluster_instancetype.py +2 -1
  102. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_export.py +2 -1
  103. openshift_python_wrapper-4.22.1/ocp_resources/virtual_machine_instance.py +696 -0
  104. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_instance_preset.py +2 -1
  105. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_instance_replica_set.py +2 -1
  106. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_instancetype.py +2 -1
  107. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_restore.py +4 -0
  108. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_storage_migration_plan.py +11 -0
  109. openshift_python_wrapper-4.22.1/ocp_resources/virtual_machine_template.py +66 -0
  110. openshift_python_wrapper-4.22.1/ocp_resources/virtual_machine_template_request.py +54 -0
  111. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/volume_snapshot.py +2 -1
  112. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/volume_snapshot_class.py +2 -1
  113. openshift_python_wrapper-4.22.1/ocp_resources/vtep.py +71 -0
  114. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/pyproject.toml +8 -4
  115. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_camelcase_to_snake.py +15 -0
  116. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resource.py +116 -0
  117. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/uv.lock +479 -291
  118. openshift_python_wrapper-4.21.1/.git +0 -1
  119. openshift_python_wrapper-4.21.1/class_generator/schema/__cluster_version__.txt +0 -1
  120. openshift_python_wrapper-4.21.1/class_generator/schema/__resources-mappings.json.gz +0 -0
  121. openshift_python_wrapper-4.21.1/class_generator/schema/_definitions.json +0 -22447
  122. openshift_python_wrapper-4.21.1/class_generator/tests/manifests/Deployment/deployment.py +0 -110
  123. openshift_python_wrapper-4.21.1/ocp_resources/deployment.py +0 -170
  124. openshift_python_wrapper-4.21.1/ocp_resources/virtual_machine_instance.py +0 -340
  125. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.coderabbit.yaml +0 -0
  126. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.dockerignore +0 -0
  127. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.flake8 +0 -0
  128. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.gitattributes +0 -0
  129. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  130. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  131. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.github/pull_request_template.md +0 -0
  132. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.github/weekly-digest.yml +0 -0
  133. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.github/workflows/close-stale-issues.yml +0 -0
  134. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.gitleaks.toml +0 -0
  135. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.readthedocs.yaml +0 -0
  136. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.release-it.json +0 -0
  137. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/.sonarcloud.properties +0 -0
  138. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/LICENSE +0 -0
  139. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/Makefile +0 -0
  140. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/OWNERS +0 -0
  141. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/README.md +0 -0
  142. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/README.md +0 -0
  143. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/__init__.py +0 -0
  144. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/cli.py +0 -0
  145. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/constants.py +0 -0
  146. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/core/__init__.py +0 -0
  147. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/core/coverage.py +0 -0
  148. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/core/discovery.py +0 -0
  149. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/exceptions.py +0 -0
  150. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/formatters/__init__.py +0 -0
  151. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/formatters/file_writer.py +0 -0
  152. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/formatters/template_renderer.py +0 -0
  153. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/manifests/class_generator_template.j2 +0 -0
  154. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/parsers/__init__.py +0 -0
  155. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/parsers/type_parser.py +0 -0
  156. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/py.typed +0 -0
  157. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/APIServer/api_server.py +0 -0
  158. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +0 -0
  159. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/ConfigMap/config_map.py +0 -0
  160. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/DNS/dns_config_openshift_io.py +0 -0
  161. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/DNS/dns_operator_openshift_io.py +0 -0
  162. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/ImageContentSourcePolicy/image_content_source_policy.py +0 -0
  163. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/Ingress/ingress_config_openshift_io.py +0 -0
  164. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/Machine/machine.py +0 -0
  165. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/NMState/nm_state.py +0 -0
  166. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/OAuth/oauth.py +0 -0
  167. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/Pipeline/pipeline.py +0 -0
  168. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/RouteAdvertisements/route_advertisements.py +0 -0
  169. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/Secret/secret.py +0 -0
  170. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +0 -0
  171. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +0 -0
  172. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/manifests/test_parse_explain.j2 +0 -0
  173. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_batch_regeneration.py +0 -0
  174. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_class_generator.py +0 -0
  175. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_cli.py +0 -0
  176. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_generation.py +0 -0
  177. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_resource_discovery.py +0 -0
  178. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_schema_parsing.py +0 -0
  179. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/tests/test_utils.py +0 -0
  180. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/class_generator/utils.py +0 -0
  181. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/docs/Makefile +0 -0
  182. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/docs/conf.py +0 -0
  183. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/docs/index.rst +0 -0
  184. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/docs/modules.rst +0 -0
  185. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/docs/ocp_resources.rst +0 -0
  186. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/general.py +0 -0
  187. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/node_network_configuration_policy.py +0 -0
  188. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/pods.py +0 -0
  189. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/resource_list.py +0 -0
  190. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/role.py +0 -0
  191. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/special_cases.py +0 -0
  192. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/validation_demo.py +0 -0
  193. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/validation_troubleshooting.py +0 -0
  194. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/examples/virtual_machine.py +0 -0
  195. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/README.md +0 -0
  196. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/__init__.py +0 -0
  197. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/configuration.py +0 -0
  198. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/dynamic_client.py +0 -0
  199. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/exceptions.py +0 -0
  200. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/kubernetes_client.py +0 -0
  201. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/resource_field.py +0 -0
  202. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/resource_instance.py +0 -0
  203. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/resource_manager.py +0 -0
  204. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/resource_registry.py +0 -0
  205. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/resource_storage.py +0 -0
  206. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/status_schema_parser.py +0 -0
  207. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/status_templates.py +0 -0
  208. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/fake_kubernetes_client/types.py +0 -0
  209. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/README.md +0 -0
  210. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/__init__.py +0 -0
  211. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/example_client.py +0 -0
  212. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/server-info.json +0 -0
  213. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/server.py +0 -0
  214. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/mcp_server/tests/__init__.py +0 -0
  215. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/__init__.py +0 -0
  216. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/aaq.py +0 -0
  217. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/api_server.py +0 -0
  218. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/api_service.py +0 -0
  219. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
  220. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/authentication_config_openshift_io.py +0 -0
  221. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/authentication_operator_openshift_io.py +0 -0
  222. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/backup.py +0 -0
  223. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/benchmark.py +0 -0
  224. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/bgp_session_state.py +0 -0
  225. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cdi.py +0 -0
  226. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cdi_config.py +0 -0
  227. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/chaos_engine.py +0 -0
  228. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/chaos_result.py +0 -0
  229. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_claim.py +0 -0
  230. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_deployment.py +0 -0
  231. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_operator.py +0 -0
  232. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_pool.py +0 -0
  233. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_service_version.py +0 -0
  234. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/cluster_version.py +0 -0
  235. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/config_map.py +0 -0
  236. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/config_operator_openshift_io.py +0 -0
  237. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/config_samples_operator_openshift_io.py +0 -0
  238. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/console_cli_download.py +0 -0
  239. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/console_config_openshift_io.py +0 -0
  240. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/console_operator_openshift_io.py +0 -0
  241. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/console_plugin.py +0 -0
  242. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/console_quick_start.py +0 -0
  243. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/csi_driver.py +0 -0
  244. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/custom_resource_definition.py +0 -0
  245. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/daemonset.py +0 -0
  246. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/data_science_cluster.py +0 -0
  247. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/data_science_pipelines_application.py +0 -0
  248. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/destination_rule.py +0 -0
  249. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/direct_volume_migration.py +0 -0
  250. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/direct_volume_migration_progress.py +0 -0
  251. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/dns_config_openshift_io.py +0 -0
  252. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/dns_operator_openshift_io.py +0 -0
  253. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/exceptions.py +0 -0
  254. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/forklift_controller.py +0 -0
  255. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/frr_configuration.py +0 -0
  256. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/gateway.py +0 -0
  257. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/gateway_class.py +0 -0
  258. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/gateway_config.py +0 -0
  259. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/gateway_gateway_networking_k8s_io.py +0 -0
  260. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/gateway_networking_istio_io.py +0 -0
  261. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/hook.py +0 -0
  262. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/host.py +0 -0
  263. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/hostpath_provisioner.py +0 -0
  264. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/hyperconverged.py +0 -0
  265. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/image_config_openshift_io.py +0 -0
  266. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/image_content_source_policy.py +0 -0
  267. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/image_image_openshift_io.py +0 -0
  268. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/image_stream.py +0 -0
  269. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/imagestreamtag.py +0 -0
  270. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/infrastructure.py +0 -0
  271. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/ingress_controller.py +0 -0
  272. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/installplan.py +0 -0
  273. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/jaeger.py +0 -0
  274. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/job.py +0 -0
  275. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/kube_descheduler.py +0 -0
  276. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/kubelet_config.py +0 -0
  277. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/kubevirt.py +0 -0
  278. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/l2_advertisement.py +0 -0
  279. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/lease.py +0 -0
  280. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/llm_inference_service.py +0 -0
  281. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/machine.py +0 -0
  282. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/machine_config.py +0 -0
  283. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/machine_config_pool.py +0 -0
  284. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/machine_health_check.py +0 -0
  285. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/machine_set.py +0 -0
  286. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/managed_cluster.py +0 -0
  287. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/maria_db.py +0 -0
  288. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mariadb_operator.py +0 -0
  289. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/metallb.py +0 -0
  290. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mig_controller.py +0 -0
  291. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mig_plan.py +0 -0
  292. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/migration.py +0 -0
  293. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/model_registry_components_platform_opendatahub_io.py +0 -0
  294. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mtq.py +0 -0
  295. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/multi_cluster_hub.py +0 -0
  296. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/multi_namespace_virtual_machine_storage_migration.py +0 -0
  297. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/mutating_webhook_config.py +0 -0
  298. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/namespace.py +0 -0
  299. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/network_addons_config.py +0 -0
  300. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/network_config_openshift_io.py +0 -0
  301. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/network_map.py +0 -0
  302. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/network_operator_openshift_io.py +0 -0
  303. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/network_policy.py +0 -0
  304. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/nm_state.py +0 -0
  305. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node.py +0 -0
  306. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_config_openshift_io.py +0 -0
  307. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_maintenance.py +0 -0
  308. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_network_configuration_enactment.py +0 -0
  309. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_network_configuration_policy.py +0 -0
  310. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
  311. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/node_network_state.py +0 -0
  312. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/notebook.py +0 -0
  313. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/oauth.py +0 -0
  314. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/ocs_initialization.py +0 -0
  315. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/open_telemetry_collector.py +0 -0
  316. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/operator.py +0 -0
  317. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/operator_condition.py +0 -0
  318. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/operator_group.py +0 -0
  319. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/operator_hub.py +0 -0
  320. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/operator_source.py +0 -0
  321. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/package_manifest.py +0 -0
  322. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/peer_authentication.py +0 -0
  323. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/persistent_volume.py +0 -0
  324. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/persistent_volume_claim.py +0 -0
  325. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/pipeline.py +0 -0
  326. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/pipeline_run.py +0 -0
  327. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/pod_disruption_budget.py +0 -0
  328. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/priority_class.py +0 -0
  329. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/project_config_openshift_io.py +0 -0
  330. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/project_project_openshift_io.py +0 -0
  331. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/project_request.py +0 -0
  332. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/prometheus.py +0 -0
  333. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/prometheus_rule.py +0 -0
  334. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/proxy.py +0 -0
  335. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/py.typed +0 -0
  336. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/rate_limit_policy.py +0 -0
  337. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/rhmi.py +0 -0
  338. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/role_binding.py +0 -0
  339. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/route.py +0 -0
  340. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/route_advertisements.py +0 -0
  341. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/scaled_object.py +0 -0
  342. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/scheduler.py +0 -0
  343. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/secret.py +0 -0
  344. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/self_node_remediation_templates.py +0 -0
  345. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/self_subject_review.py +0 -0
  346. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service.py +0 -0
  347. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service_account.py +0 -0
  348. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service_mesh_control_plane.py +0 -0
  349. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service_mesh_member_roll.py +0 -0
  350. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service_monitor.py +0 -0
  351. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/service_serving_knative_dev.py +0 -0
  352. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/sriov_network.py +0 -0
  353. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/sriov_network_node_policy.py +0 -0
  354. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/sriov_network_node_state.py +0 -0
  355. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/storage_cluster.py +0 -0
  356. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/storage_map.py +0 -0
  357. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/storage_profile.py +0 -0
  358. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/subscription.py +0 -0
  359. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/task.py +0 -0
  360. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/task_run.py +0 -0
  361. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/tekton_tasks.py +0 -0
  362. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/template.py +0 -0
  363. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/tempo_stack.py +0 -0
  364. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/token_rate_limit_policy.py +0 -0
  365. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/upload_token_request.py +0 -0
  366. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/utils/__init__.py +0 -0
  367. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/utils/archive_utils.py +0 -0
  368. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/utils/constants.py +0 -0
  369. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/utils/schema_validator.py +0 -0
  370. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/validating_admission_policy.py +0 -0
  371. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/validating_admission_policy_binding.py +0 -0
  372. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/validating_webhook_config.py +0 -0
  373. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine.py +0 -0
  374. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_cluster_preference.py +0 -0
  375. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_import.py +0 -0
  376. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_instance_migration.py +0 -0
  377. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
  378. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_preference.py +0 -0
  379. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_snapshot.py +0 -0
  380. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_machine_storage_migration.py +0 -0
  381. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/virtual_service.py +0 -0
  382. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/ocp_resources/vm_import_config.py +0 -0
  383. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/pypi-dist/.gitignore +0 -0
  384. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/renovate.json +0 -0
  385. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/scripts/__init__.py +0 -0
  386. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/scripts/diff-from-latest-release.sh +0 -0
  387. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/scripts/diff-from-tag.sh +0 -0
  388. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/scripts/generate_changelog.py +0 -0
  389. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/scripts/get-latest-release.sh +0 -0
  390. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/sonar-project.properties +0 -0
  391. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/__init__.py +0 -0
  392. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/conftest.py +0 -0
  393. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/fixtures/validation_schemas.py +0 -0
  394. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/manifests/vm.yaml +0 -0
  395. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/scripts/__init__.py +0 -0
  396. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/scripts/generate_pytest_test.py +0 -0
  397. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/scripts/validate_resources.py +0 -0
  398. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_api_group_order.py +0 -0
  399. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resource_validation.py +0 -0
  400. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_aaq.py +0 -0
  401. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_api_server.py +0 -0
  402. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_authorino.py +0 -0
  403. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_cdi.py +0 -0
  404. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_cdi_config.py +0 -0
  405. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_cluster_resource_quota.py +0 -0
  406. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_cluster_user_defined_network.py +0 -0
  407. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_config_map.py +0 -0
  408. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_console_config_openshift_io.py +0 -0
  409. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_console_operator_openshift_io.py +0 -0
  410. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_csi_driver.py +0 -0
  411. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_data_import_cron.py +0 -0
  412. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_data_science_cluster.py +0 -0
  413. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_deployment.py +0 -0
  414. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_direct_volume_migration.py +0 -0
  415. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_direct_volume_migration_progress.py +0 -0
  416. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_dns_config_openshift_io.py +0 -0
  417. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_dns_operator_openshift_io.py +0 -0
  418. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_dsc_initialization.py +0 -0
  419. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_group.py +0 -0
  420. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_guardrails_orchestrator.py +0 -0
  421. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_image_caching_internal_knative_dev.py +0 -0
  422. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_image_config_openshift_io.py +0 -0
  423. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_image_content_source_policy.py +0 -0
  424. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_image_image_openshift_io.py +0 -0
  425. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_inference_graph.py +0 -0
  426. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_kube_descheduler.py +0 -0
  427. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_kubelet_config.py +0 -0
  428. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_kubevirt.py +0 -0
  429. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_llama_stack_distribution.py +0 -0
  430. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_lm_eval_job.py +0 -0
  431. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_machine.py +0 -0
  432. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_maria_db.py +0 -0
  433. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_mariadb_operator.py +0 -0
  434. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_mig_analytic.py +0 -0
  435. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_mig_cluster.py +0 -0
  436. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_mig_migration.py +0 -0
  437. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_mig_plan.py +0 -0
  438. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_model_registry.py +0 -0
  439. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +0 -0
  440. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +0 -0
  441. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_mtq.py +0 -0
  442. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_namespace.py +0 -0
  443. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_network_config_openshift_io.py +0 -0
  444. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_network_operator_openshift_io.py +0 -0
  445. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_nm_state.py +0 -0
  446. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_node.py +0 -0
  447. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_node_config_openshift_io.py +0 -0
  448. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_node_network_configuration_policy_latest.py +0 -0
  449. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_notebook.py +0 -0
  450. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_oauth.py +0 -0
  451. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_operator.py +0 -0
  452. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_pod.py +0 -0
  453. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_pod_metrics.py +0 -0
  454. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_project_config_openshift_io.py +0 -0
  455. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_project_project_openshift_io.py +0 -0
  456. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_project_request.py +0 -0
  457. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_prometheus.py +0 -0
  458. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_replica_set.py +0 -0
  459. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_scheduler.py +0 -0
  460. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_security_context_constraints.py +0 -0
  461. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_self_subject_review.py +0 -0
  462. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_service.py +0 -0
  463. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_service_mesh_member.py +0 -0
  464. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_service_serving_knative_dev.py +0 -0
  465. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_serving_runtime.py +0 -0
  466. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_snapshot.py +0 -0
  467. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_ssp.py +0 -0
  468. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_storage_cluster.py +0 -0
  469. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_user.py +0 -0
  470. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_user_defined_network.py +0 -0
  471. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +0 -0
  472. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_cluster_preference.py +0 -0
  473. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_export.py +0 -0
  474. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_instance_migration.py +0 -0
  475. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_instance_preset.py +0 -0
  476. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_instance_replica_set.py +0 -0
  477. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_instancetype.py +0 -0
  478. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_virtual_machine_preference.py +0 -0
  479. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_volume_snapshot.py +0 -0
  480. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_resources/test_volume_snapshot_class.py +0 -0
  481. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_schema_loading.py +0 -0
  482. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_unittests.py +0 -0
  483. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_validate_resources.py +0 -0
  484. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_validate_resources_script.py +0 -0
  485. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/test_validation_error.py +0 -0
  486. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tests/utils.py +0 -0
  487. {openshift_python_wrapper-4.21.1 → openshift_python_wrapper-4.22.1}/tox.toml +0 -0
@@ -131,7 +131,6 @@ package-lock.json
131
131
 
132
132
  # AI
133
133
  .cursor/
134
- CLAUDE.md
135
134
  .agent-os/
136
135
  .cursorrules
137
136
  .claude/
@@ -45,18 +45,18 @@ repos:
45
45
  ]
46
46
 
47
47
  - repo: https://github.com/astral-sh/ruff-pre-commit
48
- rev: v0.15.12
48
+ rev: v0.15.17
49
49
  hooks:
50
50
  - id: ruff
51
51
  - id: ruff-format
52
52
 
53
53
  - repo: https://github.com/gitleaks/gitleaks
54
- rev: v8.30.1
54
+ rev: v8.30.0
55
55
  hooks:
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/)
@@ -0,0 +1 @@
1
+ @AGENTS.md
@@ -12,7 +12,7 @@ To get an overview of the project, read the [README](README.md).
12
12
  ### Create a new issue
13
13
 
14
14
  If you find a problem with the code, [search if an issue already exists](https://github.com/RedHatQE/openshift-python-wrapper/issues).
15
- If you open a pull request to fix the problem, an issue will ba automatically created.
15
+ If you open a pull request to fix the problem, an issue will be automatically created.
16
16
  If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/RedHatQE/openshift-python-wrapper/issues/new/choose).
17
17
 
18
18
  ## Pull requests
@@ -37,13 +37,15 @@ prek install
37
37
 
38
38
  ## Adding a new module (resource)
39
39
 
40
- ##### Using generator script
40
+ ##### Using generator script (REQUIRED)
41
+
42
+ New resources MUST be added via the class generator — manual creation is not allowed.
41
43
 
42
44
  - [class_generator](class_generator/README.md)
43
45
 
44
- ##### Manual
46
+ ##### Manual code (below `# End of generated code` only)
45
47
 
46
- A new resource must follow rules:
48
+ Custom helper methods can be added below the end marker. The generated class structure must follow these rules:
47
49
 
48
50
  - A new file named as the resource under `ocp_resources`; If the resource name is composed of multiple words, separate them with an underscore.
49
51
  - A class named as the resource kind.
@@ -56,4 +58,21 @@ A new resource must follow rules:
56
58
  Define all the required arguments that are **required** to instantiate the new resource. Optional parameters may be added as well.
57
59
  - Implement `to_dict` function.
58
60
 
59
- Check [ConfigMap](ocp_resources/configmap.py) and [Backup](ocp_resources/backup.py) for reference.
61
+ Check [ConfigMap](ocp_resources/config_map.py) and [Node](ocp_resources/node.py) for reference.
62
+
63
+ ### Generated code markers
64
+
65
+ Resource files created by `class-generator` use markers to separate generated from manual code:
66
+
67
+ - **Start marker** (line 1): `# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/class_generator/README.md`
68
+ - **End marker** (inside class): `# End of generated code`
69
+
70
+ Code between these markers is **auto-generated and must NOT be modified manually**.
71
+ To update generated code, use `class-generator --kind <Kind> --overwrite --backup`.
72
+ Custom code (helper methods, overrides) goes **below** the `# End of generated code` marker.
73
+
74
+ ### No client-side validation on resource creation
75
+
76
+ When building resource payloads (`to_dict()`), do NOT validate or block at code level (e.g., mutual exclusivity of fields).
77
+ If a payload can be sent to the API, send it — let the Kubernetes/OpenShift API server return the error.
78
+ Helper functions in resource classes (e.g., `wait_for_rollout()`, `restart()`) CAN perform validation and guarding as needed.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: openshift-python-wrapper
3
- Version: 4.21.1
3
+ Version: 4.22.1
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/
@@ -18,16 +18,17 @@ Requires-Dist: cloup>=3.0.5
18
18
  Requires-Dist: colorlog>=6.8.2
19
19
  Requires-Dist: deepdiff>=8.0.1
20
20
  Requires-Dist: fastmcp>=2.10.4
21
+ Requires-Dist: fastmcp>=4.0.0
21
22
  Requires-Dist: jinja2>=3.1.4
22
23
  Requires-Dist: jsonschema>=4.20.0
23
- Requires-Dist: kubernetes!=36.0.0,>=31.0.0
24
+ Requires-Dist: kubernetes<36,>=31.0.0
24
25
  Requires-Dist: packaging>=24.1
25
26
  Requires-Dist: pyhelper-utils>=0.0.42
26
27
  Requires-Dist: python-benedict>=0.33.2
27
28
  Requires-Dist: python-simple-logger>=1.0.40
28
29
  Requires-Dist: requests>=2.32.2
29
30
  Requires-Dist: rich>=13.9.2
30
- Requires-Dist: ruff>=0.6.9
31
+ Requires-Dist: starlette>=1.3.1
31
32
  Requires-Dist: timeout-sampler>=0.0.46
32
33
  Requires-Dist: xmltodict>=0.13.0
33
34
  Description-Content-Type: text/markdown
@@ -2,6 +2,7 @@
2
2
 
3
3
  import filecmp
4
4
  import os
5
+ import re
5
6
  from pathlib import Path
6
7
  from typing import Any
7
8
 
@@ -55,6 +56,16 @@ def generate_resource_file_from_dict(
55
56
 
56
57
  output = "# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md\n\n"
57
58
  formatted_kind_str = convert_camel_case_to_snake_case(name=resource_dict["kind"])
59
+
60
+ if re.search(r"_[a-z]_", formatted_kind_str):
61
+ msg = (
62
+ f"'{resource_dict['kind']}' produced invalid filename '{formatted_kind_str}.py'.\n"
63
+ f"Add '{resource_dict['kind']}' acronym to 'normalize_acronyms' dict in:\n"
64
+ f" ocp_resources/utils/utils.py -> convert_camel_case_to_snake_case()"
65
+ )
66
+ LOGGER.error(msg)
67
+ raise ValueError(msg)
68
+
58
69
  _file_suffix: str = f"{'_' + output_file_suffix if output_file_suffix else ''}"
59
70
 
60
71
  if add_tests:
@@ -94,8 +105,10 @@ def generate_resource_file_from_dict(
94
105
  output += rendered
95
106
 
96
107
  if dry_run:
108
+ console = Console()
109
+ console.print(f"\n[bold green]Would create file:[/bold green] {_output_file}")
97
110
  _code = Syntax(code=output, lexer="python", line_numbers=True)
98
- Console().print(_code)
111
+ console.print(_code)
99
112
 
100
113
  else:
101
114
  write_and_format_rendered(filepath=_output_file, output=output)
@@ -163,6 +163,10 @@ def identify_missing_resources(client: str, existing_resources_mapping: dict[Any
163
163
  """
164
164
  Identify resources that exist in the cluster but are missing from our mapping.
165
165
 
166
+ Compares using (group, kind) pairs so that resources with the same kind but
167
+ different API groups (e.g. velero.io/Backup vs postgresql.cnpg.noobaa.io/Backup)
168
+ are tracked independently.
169
+
166
170
  Args:
167
171
  client: Path to kubectl/oc client binary
168
172
  existing_resources_mapping: Current resources mapping
@@ -172,7 +176,7 @@ def identify_missing_resources(client: str, existing_resources_mapping: dict[Any
172
176
  """
173
177
  missing_resources: set[str] = set()
174
178
 
175
- # Get all available resources from cluster
179
+ # Get all available resources from cluster with their API groups
176
180
  cmd = f"{client} api-resources --no-headers"
177
181
  success, output, _ = run_command(command=shlex.split(cmd), check=False, log_errors=False)
178
182
 
@@ -180,49 +184,75 @@ def identify_missing_resources(client: str, existing_resources_mapping: dict[Any
180
184
  LOGGER.debug("Failed to get api-resources from cluster")
181
185
  return missing_resources
182
186
 
183
- # Extract kinds from cluster resources
184
- cluster_resources = set()
187
+ # Build kind -> set of groups from cluster resources
188
+ cluster_kind_groups: dict[str, set[str]] = {}
185
189
  lines = output.strip().split("\n")
186
190
 
187
191
  for line in lines:
188
192
  parts = [p for p in line.split() if p]
189
- if parts:
190
- kind = parts[-1] # KIND is the last column
191
- cluster_resources.add(kind)
193
+ if len(parts) < 3:
194
+ continue
192
195
 
193
- # Find missing resources by comparing with existing mapping
194
- existing_kinds = set()
195
- for _, resource_schemas in existing_resources_mapping.items():
196
- # Verify resource_schemas is a non-empty list
197
- if not isinstance(resource_schemas, list) or not resource_schemas:
196
+ # Find APIVERSION column by looking for version patterns
197
+ # (same logic as build_dynamic_resource_to_api_mapping)
198
+ apiversion_idx = None
199
+ for i, part in enumerate(parts):
200
+ if ("/" in part and ("v" in part or "alpha" in part or "beta" in part)) or (
201
+ part.startswith("v") and part[1:].replace(".", "").replace("alpha", "").replace("beta", "").isdigit()
202
+ ):
203
+ apiversion_idx = i
204
+ break
205
+
206
+ if apiversion_idx is None:
198
207
  continue
199
208
 
200
- # Verify first_schema is a dict
201
- first_schema = resource_schemas[0]
202
- if not isinstance(first_schema, dict):
203
- LOGGER.debug(f"Skipping malformed schema: first_schema is not a dict, got {type(first_schema)}")
209
+ # KIND is 2 columns after APIVERSION (APIVERSION, NAMESPACED, KIND)
210
+ if len(parts) <= apiversion_idx + 2:
204
211
  continue
205
212
 
206
- # Get gvk_list via .get and ensure it is a list
207
- gvk_list = first_schema.get("x-kubernetes-group-version-kind")
208
- if not isinstance(gvk_list, list) or not gvk_list:
209
- LOGGER.debug(
210
- f"Skipping malformed schema: x-kubernetes-group-version-kind is not a non-empty list, got {type(gvk_list)}"
211
- )
213
+ apiversion = parts[apiversion_idx]
214
+ kind = parts[apiversion_idx + 2]
215
+
216
+ # Extract group from apiversion: "velero.io/v1" -> "velero.io", "v1" -> ""
217
+ group = apiversion.rsplit("/", 1)[0] if "/" in apiversion else ""
218
+
219
+ cluster_kind_groups.setdefault(kind, set()).add(group)
220
+
221
+ # Build kind -> set of groups from existing mappings
222
+ existing_kind_groups: dict[str, set[str]] = {}
223
+ for _, resource_schemas in existing_resources_mapping.items():
224
+ if not isinstance(resource_schemas, list) or not resource_schemas:
212
225
  continue
213
226
 
214
- # Iterate gvk_list items and for each item confirm it's a dict before calling .get("kind")
215
- for gvk_item in gvk_list:
216
- if not isinstance(gvk_item, dict):
217
- LOGGER.debug(f"Skipping malformed gvk item: not a dict, got {type(gvk_item)}")
227
+ # Check ALL schemas in the list, not just the first one
228
+ for schema in resource_schemas:
229
+ if not isinstance(schema, dict):
218
230
  continue
219
231
 
220
- kind = gvk_item.get("kind")
221
- # Check that kind is a non-empty string before adding to existing_kinds
222
- if isinstance(kind, str) and kind.strip():
223
- existing_kinds.add(kind.strip())
232
+ gvk_list = schema.get("x-kubernetes-group-version-kind")
233
+ if not isinstance(gvk_list, list) or not gvk_list:
234
+ continue
235
+
236
+ for gvk_item in gvk_list:
237
+ if not isinstance(gvk_item, dict):
238
+ continue
239
+
240
+ kind = gvk_item.get("kind")
241
+ if not isinstance(kind, str) or not kind.strip():
242
+ continue
243
+
244
+ kind = kind.strip()
245
+ group_raw = gvk_item.get("group", "")
246
+ group = group_raw.strip() if isinstance(group_raw, str) else ""
247
+
248
+ existing_kind_groups.setdefault(kind, set()).add(group)
249
+
250
+ # Find missing resources: kind is missing if any cluster group is not in existing groups
251
+ for kind, cluster_groups in cluster_kind_groups.items():
252
+ existing_groups = existing_kind_groups.get(kind, set())
253
+ if not cluster_groups.issubset(existing_groups):
254
+ missing_resources.add(kind)
224
255
 
225
- missing_resources = cluster_resources - existing_kinds
226
256
  LOGGER.info(f"Found {len(missing_resources)} missing resources: {sorted(list(missing_resources)[:10])}")
227
257
 
228
258
  return missing_resources
@@ -661,9 +691,32 @@ def process_schema_definitions(
661
691
  f"Added new schema version for existing resource: {kind_lower} ({group or 'core'}/{version})"
662
692
  )
663
693
  else:
664
- # Don't update existing resources when cluster version is older
665
- LOGGER.debug(f"Skipping update for existing resource: {kind_lower}")
666
- continue
694
+ # Older cluster: keep existing schemas untouched, but still add
695
+ # missing group/version variants for existing kinds.
696
+ existing_schemas = resources_mapping.get(kind_lower, [])
697
+ variant_exists = False
698
+ for existing_schema in existing_schemas:
699
+ if not isinstance(existing_schema, dict):
700
+ continue
701
+ existing_gvk_list = existing_schema.get("x-kubernetes-group-version-kind") or []
702
+ for existing_gvk in existing_gvk_list:
703
+ if not isinstance(existing_gvk, dict):
704
+ continue
705
+ if existing_gvk.get("group") == group and existing_gvk.get("version") == version:
706
+ variant_exists = True
707
+ break
708
+ if variant_exists:
709
+ break
710
+
711
+ if variant_exists:
712
+ LOGGER.debug(f"Skipping update for existing resource: {kind_lower}")
713
+ continue
714
+
715
+ existing_schemas.append(schema_data)
716
+ updated_resources += 1
717
+ LOGGER.debug(
718
+ f"Added missing schema variant for existing resource: {kind_lower} ({group or 'core'}/{version})"
719
+ )
667
720
 
668
721
  # Also store in definitions for separate definitions file
669
722
  definitions[schema_name] = schema_data
@@ -89,7 +89,7 @@ def parse_explain(kind: str) -> list[dict[str, Any]]:
89
89
 
90
90
  resource_dict: dict[str, Any] = {
91
91
  "base_class": "NamespacedResource" if namespaced else "Resource",
92
- "description": _kind_schema.get("description", MISSING_DESCRIPTION_STR),
92
+ "description": _kind_schema.get("description") or MISSING_DESCRIPTION_STR,
93
93
  "fields": [],
94
94
  "spec": [],
95
95
  }
@@ -60,8 +60,7 @@ def parse_user_code_from_file(file_path: str) -> tuple[str, str]:
60
60
  "from typing import Any",
61
61
  "from ocp_resources.resource import NamespacedResource",
62
62
  "from ocp_resources.resource import Resource",
63
- "from ocp_resources.resource import NamespacedResource, MissingRequiredArgumentError",
64
- "from ocp_resources.resource import Resource, MissingRequiredArgumentError",
63
+ "from ocp_resources.exceptions import MissingRequiredArgumentError",
65
64
  }
66
65
 
67
66
  for _import in imports: