### What happened?

Following YAML file is accepted without error. Notice the `spec.parametersRef.apiGroup` field, it is an `APIVersion` instead of `APIGroup`, containing `/` character. This can lead to an issue when resource driver generates structured parameters' in-tree `ResourceClaimParameters` object with `generatedFrom.apiGroup` being just `APIGroup` without version. The DRA scheduler plugin will try to match the parameters object based on the reference here: https://github.com/kubernetes/kubernetes/blob/be4afb9ef90b19ccb6f7e595cbdb247e088b2347/pkg/scheduler/framework/plugins/dynamicresources/dynamicresources.go#L1066

In latest master the code appears to use an indexer, and the issue might be hidden, if applicable at all. I did not check the reproducibility in master yet. However, main question is whether the `APIGroup` should allow `APIVersion` value with `/` character in general.

```YAML
apiVersion: gpu.resource.intel.com/v1alpha2
kind: GpuClaimParameters
metadata:
  name: delayed-claim-external-gpu
spec:
  count: 1
  type: "gpu"
---
apiVersion: resource.k8s.io/v1alpha2
kind: ResourceClaim
metadata:
  name: delayed-claim-external-gpu
spec:
  resourceClassName: intel-gpu-structured
  parametersRef:
    apiGroup: gpu.resource.intel.com/v1alpha2
    kind: GpuClaimParameters
    name: delayed-claim-external-gpu
```

### What did you expect to happen?

An error is expected from the apiserver upon object creation request, reporting that APIGroup containes APIVersion. Maybe.

### How can we reproduce it (as minimally and precisely as possible)?

Have any resource driver that supports structured parameters, [dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver/pull/47/files#diff-df3210fefbab9f26fa97ba679b29869e25ce897d0ba713ce461da521f10ff7d8), for instance, also puts `APIGroup` (gpucrd.APIGroup) value into `generatedFrom.apiGroup`.

### Anything else we need to know?

### Kubernetes version

v1.30.1

### Cloud provider

<details>

</details>


### OS version

<details>

```console
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
```

</details>


### Install tools

<details>

</details>


### Container runtime (CRI) and version (if applicable)

<details>

</details>


### Related plugins (CNI, CSI, ...) and versions (if applicable)

<details>
scheduler's dynamicresources plugin
</details>

ResourceClaimParametersRef.APIGroup allows APIversion values
This is a GitHub Issue
repo:kubernetes
owner:kubernetes
Title : ResourceClaimParametersRef.APIGroup allows APIversion values
Issue date:

--- start body ---
### What happened?

Following YAML file is accepted without error. Notice the `spec.parametersRef.apiGroup` field, it is an `APIVersion` instead of `APIGroup`, containing `/` character. This can lead to an issue when resource driver generates structured parameters' in-tree `ResourceClaimParameters` object with `generatedFrom.apiGroup` being just `APIGroup` without version. The DRA scheduler plugin will try to match the parameters object based on the reference here: https://github.com/kubernetes/kubernetes/blob/be4afb9ef90b19ccb6f7e595cbdb247e088b2347/pkg/scheduler/framework/plugins/dynamicresources/dynamicresources.go#L1066

In latest master the code appears to use an indexer, and the issue might be hidden, if applicable at all. I did not check the reproducibility in master yet. However, main question is whether the `APIGroup` should allow `APIVersion` value with `/` character in general.

```YAML
apiVersion: gpu.resource.intel.com/v1alpha2
kind: GpuClaimParameters
metadata:
  name: delayed-claim-external-gpu
spec:
  count: 1
  type: "gpu"
---
apiVersion: resource.k8s.io/v1alpha2
kind: ResourceClaim
metadata:
  name: delayed-claim-external-gpu
spec:
  resourceClassName: intel-gpu-structured
  parametersRef:
    apiGroup: gpu.resource.intel.com/v1alpha2
    kind: GpuClaimParameters
    name: delayed-claim-external-gpu
```

### What did you expect to happen?

An error is expected from the apiserver upon object creation request, reporting that APIGroup containes APIVersion. Maybe.

### How can we reproduce it (as minimally and precisely as possible)?

Have any resource driver that supports structured parameters, [dra-example-driver](https://github.com/kubernetes-sigs/dra-example-driver/pull/47/files#diff-df3210fefbab9f26fa97ba679b29869e25ce897d0ba713ce461da521f10ff7d8), for instance, also puts `APIGroup` (gpucrd.APIGroup) value into `generatedFrom.apiGroup`.

### Anything else we need to know?

### Kubernetes version

v1.30.1

### Cloud provider

<details>

</details>


### OS version

<details>

```console
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
```

</details>


### Install tools

<details>

</details>


### Container runtime (CRI) and version (if applicable)

<details>

</details>


### Related plugins (CNI, CSI, ...) and versions (if applicable)

<details>
scheduler's dynamicresources plugin
</details>

--- end body ---
