# io.k8s.api.batch.v1.JobSchedulingConfiguration

From **Kubernetes**.

JobSchedulingConfiguration composes the reusable workload-aware scheduling building blocks.

- Type: `object`

## Properties

### `disruptionMode`

- Required: false
DisruptionMode defines the mode in which the Job's pods can be disrupted. One of Single, All. This field is immutable after creation: it may not be added or removed, and the selected mode may not be changed.

### `resourceClaims`

- Required: false
- Type: `array`

ResourceClaims defines which ResourceClaims may be shared among Pods in the Job. Pods consume the devices allocated to a PodGroup's claim by defining a claim in its own Spec.ResourceClaims that matches the PodGroup's claim exactly. The claim must have the same name and refer to the same ResourceClaim or ResourceClaimTemplate. At most 4 claims may be set, matching the limit on the resulting PodGroup. This list is immutable after creation: entries may neither be added, removed, nor modified.

### `schedulingConstraints`

- Required: false
SchedulingConstraints defines scheduling constraints (e.g. topology) for the Job's pods. This field is immutable after creation.

### `schedulingPolicy`

- Required: false
SchedulingPolicy defines the scheduling policy for this Job. Exactly one of Basic or Gang must be set. This field is immutable after creation: the policy may not be added or removed. The policy variant (basic/gang) is frozen by hand-written validation; only schedulingPolicy.gang.minCount may be changed.

## JSON Schema

```json
{"description":"JobSchedulingConfiguration composes the reusable workload-aware scheduling building blocks.","properties":{"disruptionMode":{"allOf":[{"$ref":"#/components/schemas/io.k8s.api.scheduling.v1alpha3.WorkloadPodGroupDisruptionMode"}],"description":"DisruptionMode defines the mode in which the Job's pods can be disrupted. One of Single, All. This field is immutable after creation: it may not be added or removed, and the selected mode may not be changed."},"resourceClaims":{"description":"ResourceClaims defines which ResourceClaims may be shared among Pods in the Job. Pods consume the devices allocated to a PodGroup's claim by defining a claim in its own Spec.ResourceClaims that matches the PodGroup's claim exactly. The claim must have the same name and refer to the same ResourceClaim or ResourceClaimTemplate. At most 4 claims may be set, matching the limit on the resulting PodGroup. This list is immutable after creation: entries may neither be added, removed, nor modified.","items":{"$ref":"#/components/schemas/io.k8s.api.scheduling.v1alpha3.WorkloadPodGroupResourceClaim"},"type":"array","x-kubernetes-list-map-keys":["name"],"x-kubernetes-list-type":"map","x-kubernetes-patch-merge-key":"name","x-kubernetes-patch-strategy":"merge"},"schedulingConstraints":{"allOf":[{"$ref":"#/components/schemas/io.k8s.api.scheduling.v1alpha3.WorkloadPodGroupSchedulingConstraints"}],"description":"SchedulingConstraints defines scheduling constraints (e.g. topology) for the Job's pods. This field is immutable after creation."},"schedulingPolicy":{"allOf":[{"$ref":"#/components/schemas/io.k8s.api.scheduling.v1alpha3.WorkloadPodGroupSchedulingPolicy"}],"description":"SchedulingPolicy defines the scheduling policy for this Job. Exactly one of Basic or Gang must be set. This field is immutable after creation: the policy may not be added or removed. The policy variant (basic/gang) is frozen by hand-written validation; only schedulingPolicy.gang.minCount may be changed."}},"type":"object"}
```
