openshift-python-wrapper 4.20.7__tar.gz → 4.20.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openshift_python_wrapper-4.20.8/.git +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.pre-commit-config.yaml +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/PKG-INFO +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/cli.py +3 -4
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/discovery.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/generator.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/schema.py +9 -11
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/type_parser.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/user_code_parser.py +1 -1
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/APIServer}/api_server.py +2 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ConfigMap/config_map.py +1 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/DNS}/dns_config_openshift_io.py +2 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/DNS}/dns_operator_openshift_io.py +2 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Deployment/deployment.py +1 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/ImageContentSourcePolicy}/image_content_source_policy.py +2 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/Ingress}/ingress_config_openshift_io.py +2 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/Ingress}/ingress_networking_k8s_io.py +2 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Machine/machine.py +1 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/NMState}/nm_state.py +2 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/OAuth}/oauth.py +2 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/Pipeline}/pipeline.py +2 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Pod/pod.py +1 -0
- {openshift_python_wrapper-4.20.7/ocp_resources → openshift_python_wrapper-4.20.8/class_generator/tests/manifests/RouteAdvertisements}/route_advertisements.py +3 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/Secret/secret.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ServiceMeshMember/service_mesh_member.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ServingRuntime/serving_runtime.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/test_parse_explain.j2 +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_class_generator.py +17 -19
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_resource_discovery.py +75 -81
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/utils.py +34 -35
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/resource_list.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/validation_demo.py +4 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/dynamic_client.py +4 -4
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/exceptions.py +1 -5
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/kubernetes_client.py +13 -13
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_field.py +3 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_instance.py +21 -20
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_manager.py +11 -13
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_registry.py +9 -9
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/resource_storage.py +8 -12
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/status_schema_parser.py +3 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/status_templates.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/example_client.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/server.py +5 -5
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/tests/test_server.py +10 -10
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/aaq.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/authorino.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/backup.py +0 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/catalog_source.py +3 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cdi.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/chaos_engine.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/chaos_result.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_resource_quota.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_role.py +0 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_role_binding.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_user_defined_network.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_imageregistry_operator_openshift_io.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_samples_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/csi_driver.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/data_import_cron.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/data_science_cluster.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/data_source.py +2 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/datavolume.py +13 -9
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/destination_rule.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/direct_volume_migration.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/direct_volume_migration_progress.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/dsc_initialization.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/frr_configuration.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway_class.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway_gateway_networking_k8s_io.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/gateway_networking_istio_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/group.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/hostpath_provisioner.py +1 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_image_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/inference_graph.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/jaeger.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/kube_descheduler.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/kubelet_config.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/kubevirt.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/llama_stack_distribution.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/llm_inference_service.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/lm_eval_job.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_set.py +3 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/maria_db.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mariadb_operator.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_analytic.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_cluster.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_migration.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_plan.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/model_registry_components_platform_opendatahub_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/model_registry_modelregistry_opendatahub_io.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_namespace_virtual_machine_storage_migration.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_namespace_virtual_machine_storage_migration_plan.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/namespace.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_policy.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/notebook.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/open_telemetry_collector.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/peer_authentication.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/persistent_volume.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/persistent_volume_claim.py +1 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pipeline_run.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pod_metrics.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/project_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/project_project_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/prometheus.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/replica_set.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/resource.py +10 -12
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/restore.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/rhmi.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/role.py +1 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/role_binding.py +1 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/route.py +1 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/scaled_object.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/scheduler.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/security_context_constraints.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/self_subject_review.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_account.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_mesh_control_plane.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_mesh_member.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_mesh_member_roll.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/serving_runtime.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/snapshot.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sriov_network_node_state.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ssp.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_class.py +0 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_cluster.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_profile.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/task.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/task_run.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/tempo_stack.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/upload_token_request.py +1 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/user.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/schema_validator.py +11 -8
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_cluster_instancetype.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_cluster_preference.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_export.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_import.py +2 -4
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance_migration.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance_preset.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance_replica_set.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instancetype.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_preference.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_restore.py +2 -4
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_snapshot.py +2 -4
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_storage_migration.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_storage_migration_plan.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_service.py +0 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/volume_snapshot.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/volume_snapshot_class.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/pyproject.toml +29 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/scripts/generate_pytest_test.py +3 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/scripts/validate_resources.py +4 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_api_group_order.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_aaq.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_api_server.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_authorino.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cdi.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cdi_config.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cluster_resource_quota.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_cluster_user_defined_network.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_config_map.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_console_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_console_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_csi_driver.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_data_import_cron.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_data_science_cluster.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_deployment.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_direct_volume_migration.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_direct_volume_migration_progress.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_dns_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_dns_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_dsc_initialization.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_group.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_guardrails_orchestrator.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_caching_internal_knative_dev.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_content_source_policy.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_image_image_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_inference_graph.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_kube_descheduler.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_kubelet_config.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_kubevirt.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_llama_stack_distribution.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_lm_eval_job.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_machine.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_maria_db.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mariadb_operator.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_analytic.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_cluster.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_migration.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mig_plan.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_model_registry.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_model_registry_components_platform_opendatahub_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_model_registry_modelregistry_opendatahub_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_mtq.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_namespace.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_network_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_network_operator_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_nm_state.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_node.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_node_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_node_network_configuration_policy_latest.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_notebook.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_oauth.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_operator.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_pod.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_pod_metrics.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_project_config_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_project_project_openshift_io.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_project_request.py +2 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_prometheus.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_replica_set.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_scheduler.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_security_context_constraints.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_self_subject_review.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_service.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_service_mesh_member.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_service_serving_knative_dev.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_serving_runtime.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_snapshot.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_ssp.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_storage_cluster.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_user.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_user_defined_network.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_cluster_instancetype.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_cluster_preference.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_export.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instance_migration.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instance_preset.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instance_replica_set.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_instancetype.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_virtual_machine_preference.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_volume_snapshot.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resources/test_volume_snapshot_class.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_unittests.py +1 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/utils.py +1 -1
- openshift_python_wrapper-4.20.8/uv.lock +2763 -0
- openshift_python_wrapper-4.20.7/.git +0 -1
- openshift_python_wrapper-4.20.7/uv.lock +0 -2312
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.coderabbit.yaml +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.dockerignore +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.flake8 +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.gitattributes +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/pull_request_template.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/weekly-digest.yml +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.github/workflows/close-stale-issues.yml +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.gitignore +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.gitleaks.toml +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.readthedocs.yaml +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.release-it.json +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/.sonarcloud.properties +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/CONTRIBUTING.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/LICENSE +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/Makefile +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/OWNERS +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/README.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/VERSION +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/README.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/constants.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/coverage.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/formatters/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/formatters/file_writer.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/formatters/template_renderer.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/manifests/class_generator_template.j2 +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/parsers/explain_parser.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/py.typed +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/schema/__cluster_version__.txt +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/schema/__resources-mappings.json.gz +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/schema/_definitions.json +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/manifests/ClusterOperator/cluster_operator.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_batch_regeneration.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_cli.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_generation.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_schema_new_functions.py +5 -5
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_schema_parsing.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_user_code_parser.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/tests/test_utils.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/Makefile +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/conf.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/index.rst +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/modules.rst +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/docs/ocp_resources.rst +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/general.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/node_network_configuration_policy.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/pods.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/role.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/special_cases.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/validation_troubleshooting.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/examples/virtual_machine.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/README.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/__init__.py +3 -3
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/configuration.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/fake_kubernetes_client/types.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/README.md +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/server-info.json +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/mcp_server/tests/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/APIServer → openshift_python_wrapper-4.20.8/ocp_resources}/api_server.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/api_service.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/application_aware_applied_cluster_resource_quota.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/application_aware_cluster_resource_quota.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/application_aware_resource_quota.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/benchmark.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/bgp_session_state.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cdi_config.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_claim.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_deployment.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_operator.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_pool.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_service_version.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cluster_version.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/config_map.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_cli_download.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_plugin.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/console_quick_start.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/controller_revision.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/cron_job.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/csi_storage_capacity.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/custom_resource_definition.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/daemonset.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/deployment.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/DNS → openshift_python_wrapper-4.20.8/ocp_resources}/dns_config_openshift_io.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/DNS → openshift_python_wrapper-4.20.8/ocp_resources}/dns_operator_openshift_io.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/endpoint_slice.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/endpoints.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/event.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/exceptions.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/fence_agent_remediation_templates.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/forklift_controller.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/guardrails_orchestrator.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/hook.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/host.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/hyperconverged.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_caching_internal_knative_dev.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/ImageContentSourcePolicy → openshift_python_wrapper-4.20.8/ocp_resources}/image_content_source_policy.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_digest_mirror_set.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/image_stream.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/imagestreamtag.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/inference_service.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/infrastructure.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.20.8/ocp_resources}/ingress_config_openshift_io.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ingress_controller.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Ingress → openshift_python_wrapper-4.20.8/ocp_resources}/ingress_networking_k8s_io.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/installplan.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ip_address_pool.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/job.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/l2_advertisement.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/lease.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/limit_range.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_config.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_config_pool.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/machine_health_check.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/managed_cluster.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/metallb.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mig_controller.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/migration.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/migration_policy.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/model_registry.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mtq.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_cluster_hub.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_cluster_observability.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/multi_network_policy.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/mutating_webhook_config.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_addons_config.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_attachment_definition.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/network_map.py +1 -1
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/NMState → openshift_python_wrapper-4.20.8/ocp_resources}/nm_state.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_health_check.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_maintenance.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_configuration_enactment.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_configuration_policy.py +2 -2
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_configuration_policy_latest.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/node_network_state.py +2 -2
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/OAuth → openshift_python_wrapper-4.20.8/ocp_resources}/oauth.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/ocs_initialization.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_condition.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_group.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_hub.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/operator_source.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/package_manifest.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/performance_profile.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/Pipeline → openshift_python_wrapper-4.20.8/ocp_resources}/pipeline.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/plan.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pod.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/pod_disruption_budget.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/priority_class.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/project_request.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/prometheus_rule.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/provider.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/proxy.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/py.typed +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/reclaim_space_cron_job.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/reclaim_space_job.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/resource_quota.py +0 -0
- {openshift_python_wrapper-4.20.7/class_generator/tests/manifests/RouteAdvertisements → openshift_python_wrapper-4.20.8/ocp_resources}/route_advertisements.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sealed_secret.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/secret.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/self_node_remediation_templates.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_monitor.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/service_serving_knative_dev.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sriov_network.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/sriov_network_node_policy.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/storage_map.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/subscription.py +1 -1
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/tekton_tasks.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/template.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/trustyai_service.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/user_defined_network.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/archive_utils.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/constants.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/resource_constants.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/utils/utils.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/validating_webhook_config.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_clone.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_instance.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/virtual_machine_migration_resource_quota.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/ocp_resources/vm_import_config.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/pypi-dist/.gitignore +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/renovate.json +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/diff-from-latest-release.sh +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/diff-from-tag.sh +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/generate_changelog.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/scripts/get-latest-release.sh +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/sonar-project.properties +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/conftest.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/fixtures/validation_schemas.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/manifests/vm.yaml +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/scripts/__init__.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_camelcase_to_snake.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resource.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_resource_validation.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_schema_loading.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_validate_resources.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_validate_resources_script.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tests/test_validation_error.py +0 -0
- {openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/tox.toml +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
gitdir: /tmp/github-webhook-openshift-python-wrapper-zslul6r2/.git/worktrees/github-webhook-openshift-python-wrapper-zslul6r2-worktree-6689080a-f1a6-4520-b182-7e93e358d7b3
|
|
@@ -45,7 +45,7 @@ repos:
|
|
|
45
45
|
]
|
|
46
46
|
|
|
47
47
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
48
|
-
rev: v0.14
|
|
48
|
+
rev: v0.15.14
|
|
49
49
|
hooks:
|
|
50
50
|
- id: ruff
|
|
51
51
|
- id: ruff-format
|
|
@@ -56,7 +56,7 @@ repos:
|
|
|
56
56
|
- id: gitleaks
|
|
57
57
|
|
|
58
58
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
59
|
-
rev:
|
|
59
|
+
rev: v2.1.0
|
|
60
60
|
hooks:
|
|
61
61
|
- id: mypy
|
|
62
62
|
exclude: ^(tests/|examples/|docs/)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openshift-python-wrapper
|
|
3
|
-
Version: 4.20.
|
|
3
|
+
Version: 4.20.8
|
|
4
4
|
Summary: Wrapper around https://github.com/kubernetes-client/python
|
|
5
5
|
Project-URL: homepage, https://github.com/RedHatQE/openshift-python-wrapper
|
|
6
6
|
Project-URL: documentation, https://openshift-python-wrapper.readthedocs.io/en/latest/
|
|
@@ -20,7 +20,7 @@ Requires-Dist: deepdiff>=8.0.1
|
|
|
20
20
|
Requires-Dist: fastmcp>=2.10.4
|
|
21
21
|
Requires-Dist: jinja2>=3.1.4
|
|
22
22
|
Requires-Dist: jsonschema>=4.20.0
|
|
23
|
-
Requires-Dist: kubernetes
|
|
23
|
+
Requires-Dist: kubernetes!=36.0.0,>=31.0.0
|
|
24
24
|
Requires-Dist: packaging>=24.1
|
|
25
25
|
Requires-Dist: pyhelper-utils>=0.0.42
|
|
26
26
|
Requires-Dist: python-benedict>=0.33.2
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"""Command-line interface for the class generator."""
|
|
2
2
|
|
|
3
3
|
import fnmatch
|
|
4
|
+
import logging
|
|
4
5
|
import shutil
|
|
5
6
|
import sys
|
|
6
7
|
from datetime import datetime
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
from typing import Any
|
|
9
10
|
|
|
10
|
-
import logging
|
|
11
|
-
|
|
12
11
|
import cloup
|
|
13
12
|
from cloup.constraints import If, IsSet, accept_none, require_one
|
|
14
13
|
from simple_logger.logger import get_logger
|
|
@@ -17,7 +16,7 @@ from class_generator.constants import TESTS_MANIFESTS_DIR
|
|
|
17
16
|
from class_generator.core.coverage import analyze_coverage, generate_report
|
|
18
17
|
from class_generator.core.discovery import discover_generated_resources
|
|
19
18
|
from class_generator.core.generator import class_generator
|
|
20
|
-
from class_generator.core.schema import
|
|
19
|
+
from class_generator.core.schema import ClusterVersionError, update_kind_schema
|
|
21
20
|
from class_generator.tests.test_generation import generate_class_generator_tests
|
|
22
21
|
from class_generator.utils import execute_parallel_tasks
|
|
23
22
|
from ocp_resources.utils.utils import convert_camel_case_to_snake_case
|
|
@@ -57,7 +56,7 @@ def handle_schema_update(update_schema: bool, generate_missing: bool) -> bool:
|
|
|
57
56
|
LOGGER.info("Updating resource schema...")
|
|
58
57
|
try:
|
|
59
58
|
update_kind_schema()
|
|
60
|
-
except (
|
|
59
|
+
except (OSError, RuntimeError, ClusterVersionError) as e:
|
|
61
60
|
LOGGER.exception(f"Failed to update schema: {e}")
|
|
62
61
|
sys.exit(1)
|
|
63
62
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"""Discovery functions for finding cluster resources and generated files."""
|
|
2
2
|
|
|
3
|
+
from concurrent.futures import Future, ThreadPoolExecutor, as_completed
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from typing import Any
|
|
5
|
-
from concurrent.futures import ThreadPoolExecutor, as_completed, Future
|
|
6
6
|
|
|
7
7
|
from kubernetes.dynamic import DynamicClient
|
|
8
8
|
from simple_logger.logger import get_logger
|
|
@@ -155,7 +155,7 @@ def class_generator(
|
|
|
155
155
|
LOGGER.info("Updating schema")
|
|
156
156
|
try:
|
|
157
157
|
update_kind_schema()
|
|
158
|
-
except (
|
|
158
|
+
except (OSError, RuntimeError) as e:
|
|
159
159
|
error_msg = f"Failed to update schema: {e}"
|
|
160
160
|
LOGGER.error(error_msg)
|
|
161
161
|
raise RuntimeError(error_msg) from e
|
|
@@ -188,7 +188,7 @@ def class_generator(
|
|
|
188
188
|
unique_groups = set()
|
|
189
189
|
for resource in resources:
|
|
190
190
|
# Use the original group name that we stored
|
|
191
|
-
if
|
|
191
|
+
if resource.get("original_group"):
|
|
192
192
|
unique_groups.add(resource["original_group"])
|
|
193
193
|
|
|
194
194
|
use_output_file_suffix: bool = len(unique_groups) > 1
|
{openshift_python_wrapper-4.20.7 → openshift_python_wrapper-4.20.8}/class_generator/core/schema.py
RENAMED
|
@@ -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
|
|
|
@@ -22,8 +22,6 @@ LOGGER = get_logger(name=__name__)
|
|
|
22
22
|
class ClusterVersionError(Exception):
|
|
23
23
|
"""Raised when there are issues with cluster version operations."""
|
|
24
24
|
|
|
25
|
-
pass
|
|
26
|
-
|
|
27
25
|
|
|
28
26
|
def get_client_binary() -> str:
|
|
29
27
|
"""Determine whether to use 'oc' or 'kubectl' binary."""
|
|
@@ -138,7 +136,7 @@ def check_and_update_cluster_version(client: str) -> bool:
|
|
|
138
136
|
try:
|
|
139
137
|
with open(cluster_version_file, "r") as fd:
|
|
140
138
|
last_cluster_version_generated = fd.read().strip()
|
|
141
|
-
except (
|
|
139
|
+
except (OSError, FileNotFoundError):
|
|
142
140
|
# Treat missing file as first run - use baseline version that allows updates
|
|
143
141
|
last_cluster_version_generated = "v0.0.0"
|
|
144
142
|
LOGGER.info("Cluster version file not found - treating as first run with baseline version v0.0.0")
|
|
@@ -1360,10 +1358,10 @@ def write_schema_files(
|
|
|
1360
1358
|
# Ensure schema directory exists
|
|
1361
1359
|
try:
|
|
1362
1360
|
Path(SCHEMA_DIR).mkdir(parents=True, exist_ok=True)
|
|
1363
|
-
except
|
|
1361
|
+
except OSError as e:
|
|
1364
1362
|
error_msg = f"Failed to create schema directory {SCHEMA_DIR}: {e}"
|
|
1365
1363
|
LOGGER.error(error_msg)
|
|
1366
|
-
raise
|
|
1364
|
+
raise OSError(error_msg) from e
|
|
1367
1365
|
|
|
1368
1366
|
# Fetch missing core definitions if schemas are available
|
|
1369
1367
|
if schemas:
|
|
@@ -1400,18 +1398,18 @@ def write_schema_files(
|
|
|
1400
1398
|
with open(definitions_file, "w") as fd:
|
|
1401
1399
|
json.dump(definitions_data, fd, indent=2, sort_keys=True)
|
|
1402
1400
|
LOGGER.info(f"Written {len(definitions)} definitions to {definitions_file}")
|
|
1403
|
-
except (OSError,
|
|
1401
|
+
except (OSError, TypeError) as e:
|
|
1404
1402
|
error_msg = f"Failed to write definitions file {definitions_file}: {e}"
|
|
1405
1403
|
LOGGER.error(error_msg)
|
|
1406
|
-
raise
|
|
1404
|
+
raise OSError(error_msg) from e
|
|
1407
1405
|
|
|
1408
1406
|
# Write and archive resources mapping
|
|
1409
1407
|
try:
|
|
1410
1408
|
save_json_archive(resources_mapping, RESOURCES_MAPPING_FILE)
|
|
1411
|
-
except (OSError,
|
|
1409
|
+
except (OSError, TypeError) as e:
|
|
1412
1410
|
error_msg = f"Failed to save and archive resources mapping file {RESOURCES_MAPPING_FILE}: {e}"
|
|
1413
1411
|
LOGGER.error(error_msg)
|
|
1414
|
-
raise
|
|
1412
|
+
raise OSError(error_msg) from e
|
|
1415
1413
|
|
|
1416
1414
|
|
|
1417
1415
|
@dataclasses.dataclass
|
|
@@ -1527,7 +1525,7 @@ def _handle_no_schemas_case() -> None:
|
|
|
1527
1525
|
existing_definitions_data = json.load(fd)
|
|
1528
1526
|
definitions = existing_definitions_data.get("definitions", {})
|
|
1529
1527
|
LOGGER.info(f"Found {len(definitions)} existing definitions that will be preserved")
|
|
1530
|
-
except (
|
|
1528
|
+
except (OSError, FileNotFoundError, json.JSONDecodeError):
|
|
1531
1529
|
LOGGER.debug("Could not load existing definitions file. No existing definitions to preserve.")
|
|
1532
1530
|
|
|
1533
1531
|
|
|
@@ -6,7 +6,7 @@ from typing import Any
|
|
|
6
6
|
|
|
7
7
|
from simple_logger.logger import get_logger
|
|
8
8
|
|
|
9
|
-
from class_generator.constants import MISSING_DESCRIPTION_STR, SPEC_STR
|
|
9
|
+
from class_generator.constants import DEFINITIONS_FILE, MISSING_DESCRIPTION_STR, SPEC_STR
|
|
10
10
|
from class_generator.utils import sanitize_python_name
|
|
11
11
|
from ocp_resources.utils.utils import convert_camel_case_to_snake_case
|
|
12
12
|
|
|
@@ -39,7 +39,7 @@ def parse_user_code_from_file(file_path: str) -> tuple[str, str]:
|
|
|
39
39
|
f"Failed to decode file {file_path} with UTF-8 encoding. The file may contain invalid characters.",
|
|
40
40
|
)
|
|
41
41
|
except Exception as e:
|
|
42
|
-
raise Exception(f"Unexpected error reading file {file_path}: {type(e).__name__}: {
|
|
42
|
+
raise Exception(f"Unexpected error reading file {file_path}: {type(e).__name__}: {e!s}")
|
|
43
43
|
|
|
44
44
|
end_of_generated_code_line = " # End of generated code"
|
|
45
45
|
user_code: str = ""
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
from typing import Any
|
|
5
|
+
|
|
5
6
|
from ocp_resources.resource import Resource
|
|
6
7
|
|
|
7
8
|
|
|
@@ -71,6 +72,7 @@ class APIServer(Resource):
|
|
|
71
72
|
self.tls_security_profile = tls_security_profile
|
|
72
73
|
|
|
73
74
|
def to_dict(self) -> None:
|
|
75
|
+
|
|
74
76
|
super().to_dict()
|
|
75
77
|
|
|
76
78
|
if not self.kind_dict and not self.yaml_file:
|
|
@@ -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,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 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 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:
|
|
@@ -71,7 +71,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
|
|
|
71
71
|
|
|
72
72
|
return (kind, diff_info)
|
|
73
73
|
|
|
74
|
-
except Exception as read_error:
|
|
74
|
+
except Exception as read_error: # noqa: BLE001
|
|
75
75
|
return (
|
|
76
76
|
kind,
|
|
77
77
|
f"Generated file {Path(output_file).name} does not match expected file. Error reading files for diff: {read_error}",
|
|
@@ -79,7 +79,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
|
|
|
79
79
|
|
|
80
80
|
return None
|
|
81
81
|
|
|
82
|
-
except Exception as e:
|
|
82
|
+
except Exception as e: # noqa: BLE001
|
|
83
83
|
error_details = f"Exception during generation: {str(e)}\n"
|
|
84
84
|
error_details += f"Traceback:\n{traceback.format_exc()}"
|
|
85
85
|
return (kind, error_details)
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Generated using https://github.com/RedHatQE/openshift-python-wrapper/blob/main/scripts/resource/README.md#adding-tests
|
|
2
2
|
|
|
3
3
|
import filecmp
|
|
4
|
+
import traceback
|
|
4
5
|
from pathlib import Path
|
|
5
|
-
from typing import List, Tuple, Optional
|
|
6
6
|
|
|
7
7
|
from class_generator.constants import TESTS_MANIFESTS_DIR
|
|
8
8
|
from class_generator.core.generator import class_generator
|
|
9
9
|
from class_generator.utils import execute_parallel_tasks
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
def _test_single_resource(kind: str, tmp_path: Path) ->
|
|
12
|
+
def _test_single_resource(kind: str, tmp_path: Path) -> tuple[str, str] | None:
|
|
13
13
|
"""
|
|
14
14
|
Test a single resource kind and return failure info if test fails.
|
|
15
15
|
|
|
@@ -44,9 +44,9 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
|
|
|
44
44
|
if not filecmp.cmp(output_file, expected_file):
|
|
45
45
|
try:
|
|
46
46
|
# Read both files to show diff details
|
|
47
|
-
with open(output_file
|
|
47
|
+
with open(output_file) as f:
|
|
48
48
|
generated_content = f.read()
|
|
49
|
-
with open(expected_file
|
|
49
|
+
with open(expected_file) as f:
|
|
50
50
|
expected_content = f.read()
|
|
51
51
|
|
|
52
52
|
# Find first difference for debugging
|
|
@@ -59,11 +59,11 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
|
|
|
59
59
|
diff_info += f"\nGenerated lines: {len(generated_lines)}, Expected lines: {len(expected_lines)}"
|
|
60
60
|
|
|
61
61
|
# Find first differing line
|
|
62
|
-
for i, (gen_line, exp_line) in enumerate(zip(generated_lines, expected_lines)):
|
|
62
|
+
for i, (gen_line, exp_line) in enumerate(zip(generated_lines, expected_lines, strict=True)):
|
|
63
63
|
if gen_line != exp_line:
|
|
64
64
|
diff_info += f"\nFirst difference at line {i + 1}:"
|
|
65
|
-
diff_info += f"\nGenerated: {
|
|
66
|
-
diff_info += f"\nExpected: {
|
|
65
|
+
diff_info += f"\nGenerated: {gen_line[:100]!r}..."
|
|
66
|
+
diff_info += f"\nExpected: {exp_line[:100]!r}..."
|
|
67
67
|
break
|
|
68
68
|
|
|
69
69
|
if len(generated_lines) != len(expected_lines):
|
|
@@ -80,9 +80,7 @@ def _test_single_resource(kind: str, tmp_path: Path) -> Optional[Tuple[str, str]
|
|
|
80
80
|
return None
|
|
81
81
|
|
|
82
82
|
except Exception as e:
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
error_details = f"Exception during generation: {str(e)}\n"
|
|
83
|
+
error_details = f"Exception during generation: {e!s}\n"
|
|
86
84
|
error_details += f"Traceback:\n{traceback.format_exc()}"
|
|
87
85
|
return (kind, error_details)
|
|
88
86
|
|
|
@@ -91,35 +89,35 @@ def test_parse_explain(tmp_path: Path) -> None:
|
|
|
91
89
|
"""Test all resource kinds in parallel and collect all failures."""
|
|
92
90
|
# List of all resource kinds to test
|
|
93
91
|
resource_kinds = [
|
|
92
|
+
"Deployment",
|
|
93
|
+
"Pod",
|
|
94
94
|
"APIServer",
|
|
95
95
|
"ClusterOperator",
|
|
96
96
|
"ConfigMap",
|
|
97
97
|
"DNS",
|
|
98
|
-
"Deployment",
|
|
99
98
|
"ImageContentSourcePolicy",
|
|
100
99
|
"Machine",
|
|
101
100
|
"NMState",
|
|
102
|
-
"Pod",
|
|
103
101
|
"Secret",
|
|
104
102
|
"ServiceMeshMember",
|
|
105
|
-
"Ingress",
|
|
106
103
|
"OAuth",
|
|
107
104
|
"Pipeline",
|
|
108
|
-
"RouteAdvertisements",
|
|
109
105
|
"ServingRuntime",
|
|
106
|
+
"Ingress",
|
|
107
|
+
"RouteAdvertisements",
|
|
110
108
|
]
|
|
111
109
|
|
|
112
|
-
failures:
|
|
110
|
+
failures: list[tuple[str, str]] = []
|
|
113
111
|
|
|
114
112
|
# Process test results and collect failures
|
|
115
|
-
def process_test_result(kind: str, result:
|
|
113
|
+
def process_test_result(kind: str, result: tuple[str, str] | None) -> None:
|
|
116
114
|
if result is not None:
|
|
117
115
|
failures.append(result)
|
|
118
116
|
|
|
119
117
|
def handle_test_error(kind: str, exc: Exception) -> None:
|
|
120
|
-
failures.append((kind, f"Task execution failed: {
|
|
118
|
+
failures.append((kind, f"Task execution failed: {exc!s}"))
|
|
121
119
|
|
|
122
|
-
def create_test_task(kind: str) ->
|
|
120
|
+
def create_test_task(kind: str) -> tuple[str, str] | None:
|
|
123
121
|
return _test_single_resource(kind, tmp_path / f"test-{kind}")
|
|
124
122
|
|
|
125
123
|
# Run tests in parallel
|
|
@@ -151,7 +149,7 @@ def test_parse_explain(tmp_path: Path) -> None:
|
|
|
151
149
|
failure_summary = f"{len(failures)} resource(s) failed: {','.join(failed_kinds)}"
|
|
152
150
|
|
|
153
151
|
# Fail the test with summary - detailed output is already printed above
|
|
154
|
-
|
|
152
|
+
raise AssertionError(failure_summary)
|
|
155
153
|
|
|
156
154
|
# If we get here, all tests passed
|
|
157
155
|
print(f"\nAll {len(resource_kinds)} resource generation tests passed successfully!")
|