{
  "description": "PlacementDecision indicates a decision from a placement.\nPlacementDecision must have a cluster.open-cluster-management.io/placement={placement name} label to reference a certain placement.\n\nIf a placement has spec.numberOfClusters specified, the total number of decisions contained in\nthe status.decisions of PlacementDecisions must be the same as NumberOfClusters. Otherwise, the\ntotal number of decisions must equal the number of ManagedClusters that\nmatch the placement requirements.\n\nSome of the decisions might be empty when there are not enough ManagedClusters to meet the placement requirements.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": "string"
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "status": {
      "description": "Status represents the current status of the PlacementDecision",
      "properties": {
        "decisions": {
          "description": "Decisions is a slice of decisions according to a placement\nThe number of decisions should not be larger than 100",
          "items": {
            "description": "ClusterDecision represents a decision from a placement\nAn empty ClusterDecision indicates it is not scheduled yet.",
            "properties": {
              "clusterName": {
                "description": "ClusterName is the name of the ManagedCluster. If it is not empty, its value should be unique cross all\nplacement decisions for the Placement.",
                "type": "string"
              },
              "reason": {
                "description": "Reason represents the reason why the ManagedCluster is selected.",
                "type": "string"
              }
            },
            "required": [
              "clusterName",
              "reason"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "required": [
        "decisions"
      ],
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
