openshift-python-wrapper 11.0.102__tar.gz → 11.0.105__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.
- openshift_python_wrapper-11.0.105/.git +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.pre-commit-config.yaml +4 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/PKG-INFO +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/cli.py +7 -9
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/core/coverage.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/core/discovery.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/core/generator.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/core/schema.py +18 -18
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/formatters/template_renderer.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/parsers/explain_parser.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/parsers/type_parser.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/parsers/user_code_parser.py +6 -6
- {openshift_python_wrapper-11.0.102/ocp_resources → openshift_python_wrapper-11.0.105/class_generator/tests/manifests/APIServer}/api_server.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/ConfigMap/config_map.py +2 -0
- {openshift_python_wrapper-11.0.102/ocp_resources → openshift_python_wrapper-11.0.105/class_generator/tests/manifests/DNS}/dns_config_openshift_io.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/DNS/dns_operator_openshift_io.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Deployment/deployment.py +3 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/ImageContentSourcePolicy/image_content_source_policy.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Ingress/ingress_config_openshift_io.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Ingress/ingress_networking_k8s_io.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Machine/machine.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/NMState/nm_state.py +2 -0
- {openshift_python_wrapper-11.0.102/ocp_resources → openshift_python_wrapper-11.0.105/class_generator/tests/manifests/OAuth}/oauth.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Pipeline/pipeline.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Pod/pod.py +3 -1
- {openshift_python_wrapper-11.0.102/ocp_resources → openshift_python_wrapper-11.0.105/class_generator/tests/manifests/RouteAdvertisements}/route_advertisements.py +3 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/Secret/secret.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +3 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +3 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_batch_regeneration.py +2 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_class_generator.py +21 -25
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_resource_discovery.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_schema_new_functions.py +39 -26
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_user_code_parser.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/utils.py +22 -21
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/resource_list.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/validation_demo.py +4 -3
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/dynamic_client.py +5 -5
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/exceptions.py +1 -5
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/kubernetes_client.py +14 -14
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/resource_field.py +3 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/resource_instance.py +31 -30
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/resource_manager.py +12 -14
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/resource_registry.py +11 -11
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/resource_storage.py +9 -13
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/status_schema_parser.py +4 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/status_templates.py +6 -6
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/example_client.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/server.py +10 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/tests/test_server.py +0 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/aaq.py +1 -0
- {openshift_python_wrapper-11.0.102/class_generator/tests/manifests/APIServer → openshift_python_wrapper-11.0.105/ocp_resources}/api_server.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/authentication_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/authentication_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/authorino.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/backup.py +0 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/catalog_source.py +3 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cdi.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/chaos_engine.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/chaos_result.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_resource_quota.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_role.py +0 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_role_binding.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_user_defined_network.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/config_imageregistry_operator_openshift_io.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/config_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/config_samples_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/console_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/console_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/csi_driver.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/daemonset.py +4 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/data_import_cron.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/data_science_cluster.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/data_science_pipelines_application.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/data_source.py +2 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/datavolume.py +13 -9
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/destination_rule.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/direct_volume_migration.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/direct_volume_migration_progress.py +1 -0
- {openshift_python_wrapper-11.0.102/class_generator/tests/manifests/DNS → openshift_python_wrapper-11.0.105/ocp_resources}/dns_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/dns_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/dsc_initialization.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/frr_configuration.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/gateway.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/gateway_class.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/gateway_config.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/gateway_gateway_networking_k8s_io.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/gateway_networking_istio_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/group.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/hostpath_provisioner.py +1 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/image_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/image_content_source_policy.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/image_image_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/inference_graph.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/ingress_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/ingress_networking_k8s_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/jaeger.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/kube_descheduler.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/kubelet_config.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/kubevirt.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/llama_stack_distribution.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/llm_inference_service.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/lm_eval_job.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/machine_set.py +3 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/maria_db.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mariadb_operator.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mig_analytic.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mig_cluster.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mig_migration.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mig_plan.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/model_registry_components_platform_opendatahub_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/namespace.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/network_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/network_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/network_policy.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/nm_state.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/notebook.py +1 -0
- {openshift_python_wrapper-11.0.102/class_generator/tests/manifests/OAuth → openshift_python_wrapper-11.0.105/ocp_resources}/oauth.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/open_telemetry_collector.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/operator.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/peer_authentication.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/persistent_volume.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/persistent_volume_claim.py +1 -3
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/pipeline.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/pipeline_run.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/plan.py +39 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/pod.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/pod_metrics.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/project_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/project_project_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/prometheus.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/replica_set.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/resource.py +24 -30
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/restore.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/rhmi.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/role.py +1 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/role_binding.py +1 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/route.py +1 -2
- {openshift_python_wrapper-11.0.102/class_generator/tests/manifests/RouteAdvertisements → openshift_python_wrapper-11.0.105/ocp_resources}/route_advertisements.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/scaled_object.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/scheduler.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/security_context_constraints.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/self_subject_review.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service_account.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service_mesh_control_plane.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service_mesh_member.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service_mesh_member_roll.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/serving_runtime.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/snapshot.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/sriov_network_node_state.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/ssp.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/storage_class.py +0 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/storage_cluster.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/storage_profile.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/task.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/task_run.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/tempo_stack.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/upload_token_request.py +1 -3
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/user.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/utils/schema_validator.py +4 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/utils/utils.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_cluster_instancetype.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_cluster_preference.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_export.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_import.py +6 -7
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_instance.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_instance_migration.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_instance_preset.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_instance_replica_set.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_instancetype.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_preference.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_restore.py +2 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_snapshot.py +2 -4
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_service.py +0 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/volume_snapshot.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/volume_snapshot_class.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/pyproject.toml +8 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/conftest.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/scripts/generate_pytest_test.py +3 -3
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/scripts/validate_resources.py +4 -3
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_api_group_order.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resource.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resource_validation.py +2 -7
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_aaq.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_api_server.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_authorino.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_cdi.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_cdi_config.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_cluster_resource_quota.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_cluster_user_defined_network.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_config_map.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_console_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_console_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_csi_driver.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_data_import_cron.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_data_science_cluster.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_deployment.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_direct_volume_migration.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_direct_volume_migration_progress.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_dns_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_dns_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_dsc_initialization.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_group.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_guardrails_orchestrator.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_image_caching_internal_knative_dev.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_image_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_image_content_source_policy.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_image_image_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_inference_graph.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_kube_descheduler.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_kubelet_config.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_kubevirt.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_llama_stack_distribution.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_lm_eval_job.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_machine.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_maria_db.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_mariadb_operator.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_mig_analytic.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_mig_cluster.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_mig_migration.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_mig_plan.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_model_registry.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_mtq.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_namespace.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_network_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_network_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_nm_state.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_node.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_node_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_node_network_configuration_policy_latest.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_notebook.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_oauth.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_operator.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_pod.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_pod_metrics.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_project_config_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_project_project_openshift_io.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_project_request.py +2 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_prometheus.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_replica_set.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_scheduler.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_security_context_constraints.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_self_subject_review.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_service.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_service_mesh_member.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_service_serving_knative_dev.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_serving_runtime.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_snapshot.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_ssp.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_storage_cluster.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_user.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_user_defined_network.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_cluster_preference.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_export.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_instance_migration.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_instance_preset.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_instance_replica_set.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_instancetype.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_virtual_machine_preference.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_volume_snapshot.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_resources/test_volume_snapshot_class.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_unittests.py +1 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/utils.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/uv.lock +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.coderabbit.yaml +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.dockerignore +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.flake8 +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.gitattributes +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.github/pull_request_template.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.github/weekly-digest.yml +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.github/workflows/close-stale-issues.yml +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.github/workflows/code-check.yml.old +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.gitignore +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.gitleaks.toml +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.readthedocs.yaml +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.release-it.json +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.sonarcloud.properties +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/CONTRIBUTING.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/LICENSE +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/Makefile +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/OWNERS +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/README.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/README.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/constants.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/core/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/formatters/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/formatters/file_writer.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/manifests/class_generator_template.j2 +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/parsers/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/py.typed +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/schema/__cluster_version__.txt +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/schema/__resources-mappings.json.gz +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/schema/_definitions.json +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/manifests/test_parse_explain.j2 +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_cli.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_generation.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_schema_parsing.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/tests/test_utils.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/docs/Makefile +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/docs/conf.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/docs/index.rst +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/docs/modules.rst +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/docs/ocp_resources.rst +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/general.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/node_network_configuration_policy.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/pods.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/role.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/special_cases.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/validation_troubleshooting.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/examples/virtual_machine.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/README.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/configuration.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/fake_kubernetes_client/types.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/README.md +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/server-info.json +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/mcp_server/tests/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/api_service.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/application_aware_resource_quota.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/benchmark.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/bgp_session_state.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cdi_config.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_claim.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_deployment.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_operator.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_pool.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_service_version.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cluster_version.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/config_map.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/console_cli_download.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/console_plugin.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/console_quick_start.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/controller_revision.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/cron_job.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/csi_storage_capacity.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/custom_resource_definition.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/deployment.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/endpoint_slice.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/endpoints.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/event.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/exceptions.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/fence_agent_remediation_templates.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/forklift_controller.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/guardrails_orchestrator.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/hook.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/host.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/hyperconverged.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/image_digest_mirror_set.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/image_stream.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/imagestreamtag.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/inference_service.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/infrastructure.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/ingress_controller.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/installplan.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/ip_address_pool.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/job.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/l2_advertisement.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/lease.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/limit_range.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/machine.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/machine_config.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/machine_config_pool.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/machine_health_check.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/managed_cluster.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/metallb.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/migration.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/migration_policy.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/model_registry.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mtq.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/multi_cluster_hub.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/multi_cluster_observability.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/multi_network_policy.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/mutating_webhook_config.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/network_addons_config.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/network_attachment_definition.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/network_map.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_health_check.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_maintenance.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_network_configuration_enactment.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_network_configuration_policy.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/node_network_state.py +2 -2
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/ocs_initialization.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/operator_condition.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/operator_group.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/operator_hub.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/operator_source.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/package_manifest.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/performance_profile.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/pod_disruption_budget.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/priority_class.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/project_request.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/prometheus_rule.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/provider.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/proxy.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/py.typed +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/reclaim_space_cron_job.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/reclaim_space_job.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/resource_quota.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/sealed_secret.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/secret.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/self_node_remediation_templates.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service_monitor.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/service_serving_knative_dev.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/sriov_network.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/sriov_network_node_policy.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/storage_map.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/subscription.py +1 -1
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/tekton_tasks.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/template.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/trustyai_service.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/user_defined_network.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/utils/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/utils/archive_utils.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/utils/constants.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/utils/resource_constants.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/validating_webhook_config.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_clone.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/ocp_resources/vm_import_config.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/pypi-dist/.gitignore +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/renovate.json +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/scripts/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/scripts/diff-from-latest-release.sh +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/scripts/diff-from-tag.sh +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/scripts/generate_changelog.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/scripts/get-latest-release.sh +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/sonar-project.properties +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/fixtures/validation_schemas.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/manifests/vm.yaml +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/scripts/__init__.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_camelcase_to_snake.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_schema_loading.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_validate_resources.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_validate_resources_script.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tests/test_validation_error.py +0 -0
- {openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/tox.toml +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
gitdir: /tmp/github-webhook-openshift-python-wrapper-jyo05ed6/.git/worktrees/github-webhook-openshift-python-wrapper-jyo05ed6-worktree-7e7efa46-a1e8-41db-9f43-05510238631f
|
{openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/.pre-commit-config.yaml
RENAMED
|
@@ -10,7 +10,7 @@ ci:
|
|
|
10
10
|
|
|
11
11
|
repos:
|
|
12
12
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
13
|
-
rev:
|
|
13
|
+
rev: v6.0.0
|
|
14
14
|
hooks:
|
|
15
15
|
- id: check-merge-conflict
|
|
16
16
|
- id: debug-statements
|
|
@@ -23,7 +23,7 @@ repos:
|
|
|
23
23
|
- id: check-toml
|
|
24
24
|
|
|
25
25
|
- repo: https://github.com/PyCQA/flake8
|
|
26
|
-
rev:
|
|
26
|
+
rev: 7.3.0
|
|
27
27
|
hooks:
|
|
28
28
|
- id: flake8
|
|
29
29
|
args: [--config=.flake8]
|
|
@@ -45,13 +45,13 @@ repos:
|
|
|
45
45
|
]
|
|
46
46
|
|
|
47
47
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
48
|
-
rev: v0.14.
|
|
48
|
+
rev: v0.14.5
|
|
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.
|
|
54
|
+
rev: v8.29.0
|
|
55
55
|
hooks:
|
|
56
56
|
- id: gitleaks
|
|
57
57
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openshift-python-wrapper
|
|
3
|
-
Version: 11.0.
|
|
3
|
+
Version: 11.0.105
|
|
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/
|
{openshift_python_wrapper-11.0.102 → openshift_python_wrapper-11.0.105}/class_generator/cli.py
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"""Command-line interface for the class generator."""
|
|
2
2
|
|
|
3
3
|
import fnmatch
|
|
4
|
+
import logging
|
|
5
|
+
import os
|
|
4
6
|
import shutil
|
|
5
7
|
import sys
|
|
6
8
|
from datetime import datetime
|
|
7
9
|
from pathlib import Path
|
|
8
10
|
from typing import Any
|
|
9
11
|
|
|
10
|
-
import logging
|
|
11
|
-
|
|
12
12
|
import cloup
|
|
13
13
|
from cloup.constraints import If, IsSet, accept_none, require_one
|
|
14
14
|
from simple_logger.logger import get_logger
|
|
@@ -17,7 +17,7 @@ from class_generator.constants import TESTS_MANIFESTS_DIR
|
|
|
17
17
|
from class_generator.core.coverage import analyze_coverage, generate_report
|
|
18
18
|
from class_generator.core.discovery import discover_generated_resources
|
|
19
19
|
from class_generator.core.generator import class_generator
|
|
20
|
-
from class_generator.core.schema import
|
|
20
|
+
from class_generator.core.schema import ClusterVersionError, update_kind_schema
|
|
21
21
|
from class_generator.tests.test_generation import generate_class_generator_tests
|
|
22
22
|
from class_generator.utils import execute_parallel_tasks
|
|
23
23
|
from ocp_resources.utils.utils import convert_camel_case_to_snake_case
|
|
@@ -57,7 +57,7 @@ def handle_schema_update(update_schema: bool, generate_missing: bool) -> bool:
|
|
|
57
57
|
LOGGER.info("Updating resource schema...")
|
|
58
58
|
try:
|
|
59
59
|
update_kind_schema()
|
|
60
|
-
except (
|
|
60
|
+
except (OSError, RuntimeError, ClusterVersionError) as e:
|
|
61
61
|
LOGGER.exception(f"Failed to update schema: {e}")
|
|
62
62
|
sys.exit(1)
|
|
63
63
|
|
|
@@ -251,9 +251,9 @@ def handle_regenerate_all(
|
|
|
251
251
|
return resource_kind, False, str(e)
|
|
252
252
|
|
|
253
253
|
# Process results from parallel execution
|
|
254
|
-
def process_regeneration_result(
|
|
254
|
+
def process_regeneration_result(_resource: dict[str, Any], result: tuple[str, bool, str | None]) -> None:
|
|
255
255
|
nonlocal success_count, error_count
|
|
256
|
-
|
|
256
|
+
_resource_kind, success, _error = result
|
|
257
257
|
if success:
|
|
258
258
|
success_count += 1
|
|
259
259
|
else:
|
|
@@ -391,7 +391,7 @@ def handle_normal_kind_generation(
|
|
|
391
391
|
return kind_to_generate, False, str(e)
|
|
392
392
|
|
|
393
393
|
# Process results from parallel execution
|
|
394
|
-
def process_generation_result(
|
|
394
|
+
def process_generation_result(_kind_to_generate: str, result: tuple[str, bool, str | None]) -> None:
|
|
395
395
|
nonlocal success_count, error_count, failed_kinds
|
|
396
396
|
kind_name, success, error = result
|
|
397
397
|
if success:
|
|
@@ -447,8 +447,6 @@ def handle_test_generation(add_tests: bool) -> None:
|
|
|
447
447
|
|
|
448
448
|
# Run the generated test file
|
|
449
449
|
LOGGER.info("Running generated tests...")
|
|
450
|
-
import os
|
|
451
|
-
|
|
452
450
|
test_file = "class_generator/tests/test_class_generator.py"
|
|
453
451
|
exit_code = os.system(f"uv run pytest {test_file}")
|
|
454
452
|
|
|
@@ -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
|
|
@@ -221,7 +221,7 @@ def discover_generated_resources() -> list[dict[str, Any]]:
|
|
|
221
221
|
for info in resource_infos:
|
|
222
222
|
# Read file to check for user code
|
|
223
223
|
try:
|
|
224
|
-
with open(info.file_path,
|
|
224
|
+
with open(info.file_path, encoding="utf-8") as f:
|
|
225
225
|
content = f.read()
|
|
226
226
|
except FileNotFoundError:
|
|
227
227
|
LOGGER.warning(f"File not found: {info.file_path}, skipping...")
|
|
@@ -155,7 +155,7 @@ def class_generator(
|
|
|
155
155
|
LOGGER.info("Updating schema")
|
|
156
156
|
try:
|
|
157
157
|
update_kind_schema()
|
|
158
|
-
except (
|
|
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
|
|
@@ -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
|
|
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
|
|
|
@@ -136,9 +136,9 @@ def check_and_update_cluster_version(client: str) -> bool:
|
|
|
136
136
|
last_cluster_version_generated: str = ""
|
|
137
137
|
|
|
138
138
|
try:
|
|
139
|
-
with open(cluster_version_file
|
|
139
|
+
with open(cluster_version_file) as fd:
|
|
140
140
|
last_cluster_version_generated = fd.read().strip()
|
|
141
|
-
except (
|
|
141
|
+
except (OSError, FileNotFoundError):
|
|
142
142
|
# Treat missing file as first run - use baseline version that allows updates
|
|
143
143
|
last_cluster_version_generated = "v0.0.0"
|
|
144
144
|
LOGGER.info("Cluster version file not found - treating as first run with baseline version v0.0.0")
|
|
@@ -530,7 +530,7 @@ def process_schema_definitions(
|
|
|
530
530
|
definitions = {}
|
|
531
531
|
if not allow_updates:
|
|
532
532
|
try:
|
|
533
|
-
with open(DEFINITIONS_FILE
|
|
533
|
+
with open(DEFINITIONS_FILE) as f:
|
|
534
534
|
existing_definitions_data = json.load(f)
|
|
535
535
|
definitions = existing_definitions_data.get("definitions", {})
|
|
536
536
|
LOGGER.info(f"Loaded {len(definitions)} existing definitions to preserve")
|
|
@@ -1064,12 +1064,12 @@ def _supplement_schema_with_field_descriptions(definitions: dict[str, Any], clie
|
|
|
1064
1064
|
LOGGER.debug(f"Failed to obtain explain data for {ref_name} from {explain_path}")
|
|
1065
1065
|
|
|
1066
1066
|
def handle_explain_error(spec_tuple: tuple[str, str], exc: Exception) -> None:
|
|
1067
|
-
ref_name,
|
|
1068
|
-
LOGGER.debug(f"Exception occurred while explaining {ref_name}
|
|
1067
|
+
ref_name, _explain_path = spec_tuple
|
|
1068
|
+
LOGGER.debug(f"Exception occurred while explaining {ref_name}: {exc}")
|
|
1069
1069
|
explain_results[ref_name] = None
|
|
1070
1070
|
|
|
1071
1071
|
def create_explain_task(spec_tuple: tuple[str, str]) -> Any:
|
|
1072
|
-
|
|
1072
|
+
_ref_name, explain_path = spec_tuple
|
|
1073
1073
|
return _run_explain_and_parse(client, explain_path)
|
|
1074
1074
|
|
|
1075
1075
|
execute_parallel_tasks(
|
|
@@ -1244,7 +1244,7 @@ def _supplement_resource_level_required_fields(definitions: dict[str, Any], clie
|
|
|
1244
1244
|
definitions[schema_key] = updated_schema
|
|
1245
1245
|
|
|
1246
1246
|
def handle_required_field_error(task_tuple: tuple[str, str], exc: Exception) -> None:
|
|
1247
|
-
schema_key,
|
|
1247
|
+
schema_key, _explain_path = task_tuple
|
|
1248
1248
|
LOGGER.debug(f"Failed to process required fields for {schema_key}: {exc}")
|
|
1249
1249
|
# Set empty list if explain fails
|
|
1250
1250
|
current_schema = definitions[schema_key]
|
|
@@ -1307,14 +1307,14 @@ def _get_missing_core_definitions(
|
|
|
1307
1307
|
if refs_to_fetch:
|
|
1308
1308
|
|
|
1309
1309
|
def process_missing_definition_result(task_tuple: tuple[str, str], result: Any) -> None:
|
|
1310
|
-
|
|
1310
|
+
_ref_name, _oc_path = task_tuple
|
|
1311
1311
|
if result:
|
|
1312
1312
|
fetched_ref_name, schema = result
|
|
1313
1313
|
missing_definitions[fetched_ref_name] = schema
|
|
1314
1314
|
LOGGER.debug(f"Successfully fetched definition for {fetched_ref_name}")
|
|
1315
1315
|
|
|
1316
1316
|
def handle_missing_definition_error(task_tuple: tuple[str, str], exc: Exception) -> None:
|
|
1317
|
-
ref_name,
|
|
1317
|
+
ref_name, _oc_path = task_tuple
|
|
1318
1318
|
LOGGER.debug(f"Failed to fetch definition for {ref_name}: {exc}")
|
|
1319
1319
|
|
|
1320
1320
|
def create_missing_definition_task(task_tuple: tuple[str, str]) -> Any:
|
|
@@ -1360,10 +1360,10 @@ def write_schema_files(
|
|
|
1360
1360
|
# Ensure schema directory exists
|
|
1361
1361
|
try:
|
|
1362
1362
|
Path(SCHEMA_DIR).mkdir(parents=True, exist_ok=True)
|
|
1363
|
-
except
|
|
1363
|
+
except OSError as e:
|
|
1364
1364
|
error_msg = f"Failed to create schema directory {SCHEMA_DIR}: {e}"
|
|
1365
1365
|
LOGGER.error(error_msg)
|
|
1366
|
-
raise
|
|
1366
|
+
raise OSError(error_msg) from e
|
|
1367
1367
|
|
|
1368
1368
|
# Fetch missing core definitions if schemas are available
|
|
1369
1369
|
if schemas:
|
|
@@ -1400,18 +1400,18 @@ def write_schema_files(
|
|
|
1400
1400
|
with open(definitions_file, "w") as fd:
|
|
1401
1401
|
json.dump(definitions_data, fd, indent=2, sort_keys=True)
|
|
1402
1402
|
LOGGER.info(f"Written {len(definitions)} definitions to {definitions_file}")
|
|
1403
|
-
except (OSError,
|
|
1403
|
+
except (OSError, TypeError) as e:
|
|
1404
1404
|
error_msg = f"Failed to write definitions file {definitions_file}: {e}"
|
|
1405
1405
|
LOGGER.error(error_msg)
|
|
1406
|
-
raise
|
|
1406
|
+
raise OSError(error_msg) from e
|
|
1407
1407
|
|
|
1408
1408
|
# Write and archive resources mapping
|
|
1409
1409
|
try:
|
|
1410
1410
|
save_json_archive(resources_mapping, RESOURCES_MAPPING_FILE)
|
|
1411
|
-
except (OSError,
|
|
1411
|
+
except (OSError, TypeError) as e:
|
|
1412
1412
|
error_msg = f"Failed to save and archive resources mapping file {RESOURCES_MAPPING_FILE}: {e}"
|
|
1413
1413
|
LOGGER.error(error_msg)
|
|
1414
|
-
raise
|
|
1414
|
+
raise OSError(error_msg) from e
|
|
1415
1415
|
|
|
1416
1416
|
|
|
1417
1417
|
@dataclasses.dataclass
|
|
@@ -1523,11 +1523,11 @@ def _handle_no_schemas_case() -> None:
|
|
|
1523
1523
|
"""
|
|
1524
1524
|
LOGGER.info("No schemas fetched. Preserving existing data to avoid overwriting with empty definitions.")
|
|
1525
1525
|
try:
|
|
1526
|
-
with open(DEFINITIONS_FILE
|
|
1526
|
+
with open(DEFINITIONS_FILE) as fd:
|
|
1527
1527
|
existing_definitions_data = json.load(fd)
|
|
1528
1528
|
definitions = existing_definitions_data.get("definitions", {})
|
|
1529
1529
|
LOGGER.info(f"Found {len(definitions)} existing definitions that will be preserved")
|
|
1530
|
-
except (
|
|
1530
|
+
except (OSError, FileNotFoundError, json.JSONDecodeError):
|
|
1531
1531
|
LOGGER.debug("Could not load existing definitions file. No existing definitions to preserve.")
|
|
1532
1532
|
|
|
1533
1533
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Jinja template rendering for resource generation."""
|
|
2
2
|
|
|
3
|
-
from typing import Any
|
|
4
3
|
from pathlib import Path
|
|
4
|
+
from typing import Any
|
|
5
5
|
|
|
6
6
|
from jinja2 import DebugUndefined, Environment, FileSystemLoader, meta
|
|
7
7
|
from simple_logger.logger import get_logger
|
|
@@ -38,7 +38,7 @@ def render_jinja_template(template_dict: dict[Any, Any], template_dir: str, temp
|
|
|
38
38
|
except AttributeError:
|
|
39
39
|
# Fallback: read the template file directly
|
|
40
40
|
template_path = Path(template_dir) / template_name
|
|
41
|
-
with open(template_path,
|
|
41
|
+
with open(template_path, encoding="utf-8") as f:
|
|
42
42
|
template_source = f.read()
|
|
43
43
|
|
|
44
44
|
ast = env.parse(source=template_source)
|
|
@@ -55,7 +55,7 @@ def parse_explain(kind: str) -> list[dict[str, Any]]:
|
|
|
55
55
|
|
|
56
56
|
# For each API group, select the latest version
|
|
57
57
|
filtered_schemas = []
|
|
58
|
-
for
|
|
58
|
+
for _group, group_schemas in schemas_by_group.items():
|
|
59
59
|
if len(group_schemas) > 1:
|
|
60
60
|
# Multiple versions in same group - pick latest
|
|
61
61
|
versions = []
|
|
@@ -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
|
|
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
|
|
|
@@ -26,10 +26,10 @@ def parse_user_code_from_file(file_path: str) -> tuple[str, str]:
|
|
|
26
26
|
try:
|
|
27
27
|
with open(file_path, encoding="utf-8") as fd:
|
|
28
28
|
data = fd.read()
|
|
29
|
-
except FileNotFoundError:
|
|
30
|
-
raise FileNotFoundError(f"File not found: {file_path}. Please ensure the file exists.")
|
|
31
|
-
except PermissionError:
|
|
32
|
-
raise PermissionError(f"Permission denied when accessing file: {file_path}. Check file permissions.")
|
|
29
|
+
except FileNotFoundError as err:
|
|
30
|
+
raise FileNotFoundError(f"File not found: {file_path}. Please ensure the file exists.") from err
|
|
31
|
+
except PermissionError as err:
|
|
32
|
+
raise PermissionError(f"Permission denied when accessing file: {file_path}. Check file permissions.") from err
|
|
33
33
|
except UnicodeDecodeError as e:
|
|
34
34
|
raise UnicodeDecodeError(
|
|
35
35
|
e.encoding,
|
|
@@ -37,9 +37,9 @@ def parse_user_code_from_file(file_path: str) -> tuple[str, str]:
|
|
|
37
37
|
e.start,
|
|
38
38
|
e.end,
|
|
39
39
|
f"Failed to decode file {file_path} with UTF-8 encoding. The file may contain invalid characters.",
|
|
40
|
-
)
|
|
40
|
+
) from e
|
|
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__}: {str(e)}") from e
|
|
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:
|
|
@@ -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
|
|
|
@@ -47,6 +48,7 @@ class ConfigMap(NamespacedResource):
|
|
|
47
48
|
self.immutable = immutable
|
|
48
49
|
|
|
49
50
|
def to_dict(self) -> None:
|
|
51
|
+
|
|
50
52
|
super().to_dict()
|
|
51
53
|
|
|
52
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:
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
from typing import Any
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
from ocp_resources.exceptions import MissingRequiredArgumentError
|
|
7
|
+
from ocp_resources.resource import NamespacedResource
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class Deployment(NamespacedResource):
|
|
@@ -279,6 +280,7 @@ class Deployment(NamespacedResource):
|
|
|
279
280
|
self.template = template
|
|
280
281
|
|
|
281
282
|
def to_dict(self) -> None:
|
|
283
|
+
|
|
282
284
|
super().to_dict()
|
|
283
285
|
|
|
284
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:
|
|
@@ -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
|
|
|
@@ -68,6 +69,7 @@ class Machine(NamespacedResource):
|
|
|
68
69
|
self.taints = taints
|
|
69
70
|
|
|
70
71
|
def to_dict(self) -> None:
|
|
72
|
+
|
|
71
73
|
super().to_dict()
|
|
72
74
|
|
|
73
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:
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
from typing import Any
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
from ocp_resources.exceptions import MissingRequiredArgumentError
|
|
7
|
+
from ocp_resources.resource import NamespacedResource
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class Pod(NamespacedResource):
|
|
@@ -492,6 +493,7 @@ class Pod(NamespacedResource):
|
|
|
492
493
|
self.volumes = volumes
|
|
493
494
|
|
|
494
495
|
def to_dict(self) -> None:
|
|
496
|
+
|
|
495
497
|
super().to_dict()
|
|
496
498
|
|
|
497
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
|
-
|
|
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:
|
|
@@ -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
|
|
|
@@ -52,6 +53,7 @@ class Secret(NamespacedResource):
|
|
|
52
53
|
self.type = type
|
|
53
54
|
|
|
54
55
|
def to_dict(self) -> None:
|
|
56
|
+
|
|
55
57
|
super().to_dict()
|
|
56
58
|
|
|
57
59
|
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
|
-
|
|
5
|
+
|
|
6
6
|
from ocp_resources.exceptions import MissingRequiredArgumentError
|
|
7
|
+
from ocp_resources.resource import NamespacedResource
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class ServiceMeshMember(NamespacedResource):
|
|
@@ -28,6 +29,7 @@ class ServiceMeshMember(NamespacedResource):
|
|
|
28
29
|
self.control_plane_ref = control_plane_ref
|
|
29
30
|
|
|
30
31
|
def to_dict(self) -> None:
|
|
32
|
+
|
|
31
33
|
super().to_dict()
|
|
32
34
|
|
|
33
35
|
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
|
-
|
|
5
|
+
|
|
6
6
|
from ocp_resources.exceptions import MissingRequiredArgumentError
|
|
7
|
+
from ocp_resources.resource import NamespacedResource
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class ServingRuntime(NamespacedResource):
|
|
@@ -96,6 +97,7 @@ class ServingRuntime(NamespacedResource):
|
|
|
96
97
|
self.volumes = volumes
|
|
97
98
|
|
|
98
99
|
def to_dict(self) -> None:
|
|
100
|
+
|
|
99
101
|
super().to_dict()
|
|
100
102
|
|
|
101
103
|
if not self.kind_dict and not self.yaml_file:
|
|
@@ -10,9 +10,9 @@ import pytest
|
|
|
10
10
|
from click.testing import CliRunner
|
|
11
11
|
|
|
12
12
|
import class_generator.cli
|
|
13
|
-
from class_generator.utils import ResourceInfo
|
|
14
|
-
from class_generator.core.discovery import discover_generated_resources
|
|
15
13
|
from class_generator.cli import main
|
|
14
|
+
from class_generator.core.discovery import discover_generated_resources
|
|
15
|
+
from class_generator.utils import ResourceInfo
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class TestResourceDiscovery:
|
|
@@ -326,8 +326,6 @@ class TestRegenerateAll:
|
|
|
326
326
|
mock_generator = MagicMock(return_value=[str(pod_file)])
|
|
327
327
|
|
|
328
328
|
# Need to patch where the functions are imported, not where they're defined
|
|
329
|
-
import class_generator.cli
|
|
330
|
-
|
|
331
329
|
monkeypatch.setattr(class_generator.cli, "discover_generated_resources", mock_discover)
|
|
332
330
|
monkeypatch.setattr(class_generator.cli, "class_generator", mock_generator)
|
|
333
331
|
|