### 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 ---

The issue describes a potential misconfiguration in the Kubernetes API where the `spec.parametersRef.apiGroup` field accepts values that are formatted as `APIVersion` instead of just `APIGroup`. This could lead to inconsistencies and errors in resource driver behavior, particularly when generating structured parameters. If the APIGroup is allowed to contain an APIVersion, it may cause issues in resource scheduling and management, potentially leading to unexpected behavior or failures in resource allocation.