{
  "description": "PodGroup represents a set of pods with a common scheduling policy.",
  "properties": {
    "name": {
      "description": "Name is a unique identifier for the PodGroup within the Workload. It must be a DNS label. This field is immutable.",
      "type": [
        "string",
        "null"
      ]
    },
    "policy": {
      "description": "PodGroupPolicy defines the scheduling configuration for a PodGroup.",
      "properties": {
        "basic": {
          "description": "BasicSchedulingPolicy indicates that standard Kubernetes scheduling behavior should be used.",
          "type": [
            "object",
            "null"
          ]
        },
        "gang": {
          "description": "GangSchedulingPolicy defines the parameters for gang scheduling.",
          "properties": {
            "minCount": {
              "description": "MinCount is the minimum number of pods that must be schedulable or scheduled at the same time for the scheduler to admit the entire group. It must be a positive integer.",
              "format": "int32",
              "type": "integer"
            }
          },
          "required": [
            "minCount"
          ],
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false
        }
      },
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "name",
    "policy"
  ],
  "type": "object",
  "additionalProperties": false,
  "$schema": "http://json-schema.org/schema#"
}