charts/hub-agent/templates/crds/placement.kubernetes-fleet.io_clusterschedulingpolicysnapshots.yaml [343:634]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                  If the operator is Gt (greater than), Ge (greater than or equal to), Lt (less than),
                                                  or `Le` (less than or equal to), Eq (equal to), or Ne (ne), exactly one value must be
                                                  specified in the list.
                                                items:
                                                  type: string
                                                maxItems: 1
                                                type: array
                                            required:
                                            - name
                                            - operator
                                            - values
                                            type: object
                                          type: array
                                      required:
                                      - matchExpressions
                                      type: object
                                    propertySorter:
                                      description: |-
                                        PropertySorter sorts all matching clusters by a specific property and assigns different weights
                                        to each cluster based on their observed property values.

                                        At this moment, PropertySorter can only be used with
                                        `PreferredDuringSchedulingIgnoredDuringExecution` affinity terms.

                                        This field is beta-level; it is for the property-based scheduling feature and is only
                                        functional when a property provider is enabled in the deployment.
                                      properties:
                                        name:
                                          description: Name is the name of the property
                                            which Fleet sorts clusters by.
                                          type: string
                                        sortOrder:
                                          description: |-
                                            SortOrder explains how Fleet should perform the sort; specifically, whether Fleet should
                                            sort in ascending or descending order.
                                          type: string
                                      required:
                                      - name
                                      - sortOrder
                                      type: object
                                  type: object
                                maxItems: 10
                                type: array
                            required:
                            - clusterSelectorTerms
                            type: object
                        type: object
                    type: object
                  clusterNames:
                    description: |-
                      ClusterNames contains a list of names of MemberCluster to place the selected resources.
                      Only valid if the placement type is "PickFixed"
                    items:
                      type: string
                    maxItems: 100
                    type: array
                  numberOfClusters:
                    description: NumberOfClusters of placement. Only valid if the
                      placement type is "PickN".
                    format: int32
                    minimum: 0
                    type: integer
                  placementType:
                    default: PickAll
                    description: Type of placement. Can be "PickAll", "PickN" or "PickFixed".
                      Default is PickAll.
                    enum:
                    - PickAll
                    - PickN
                    - PickFixed
                    type: string
                  tolerations:
                    description: |-
                      If specified, the ClusterResourcePlacement's Tolerations.
                      Tolerations cannot be updated or deleted.

                      This field is beta-level and is for the taints and tolerations feature.
                    items:
                      description: |-
                        Toleration allows ClusterResourcePlacement to tolerate any taint that matches
                        the triple <key,value,effect> using the matching operator <operator>.
                      properties:
                        effect:
                          description: |-
                            Effect indicates the taint effect to match. Empty means match all taint effects.
                            When specified, only allowed value is NoSchedule.
                          enum:
                          - NoSchedule
                          type: string
                        key:
                          description: |-
                            Key is the taint key that the toleration applies to. Empty means match all taint keys.
                            If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                          type: string
                        operator:
                          default: Equal
                          description: |-
                            Operator represents a key's relationship to the value.
                            Valid operators are Exists and Equal. Defaults to Equal.
                            Exists is equivalent to wildcard for value, so that a
                            ClusterResourcePlacement can tolerate all taints of a particular category.
                          enum:
                          - Equal
                          - Exists
                          type: string
                        value:
                          description: |-
                            Value is the taint value the toleration matches to.
                            If the operator is Exists, the value should be empty, otherwise just a regular string.
                          type: string
                      type: object
                    maxItems: 100
                    type: array
                  topologySpreadConstraints:
                    description: |-
                      TopologySpreadConstraints describes how a group of resources ought to spread across multiple topology
                      domains. Scheduler will schedule resources in a way which abides by the constraints.
                      All topologySpreadConstraints are ANDed.
                      Only valid if the placement type is "PickN".
                    items:
                      description: TopologySpreadConstraint specifies how to spread
                        resources among the given cluster topology.
                      properties:
                        maxSkew:
                          default: 1
                          description: |-
                            MaxSkew describes the degree to which resources may be unevenly distributed.
                            When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                            between the number of resource copies in the target topology and the global minimum.
                            The global minimum is the minimum number of resource copies in a domain.
                            When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                            to topologies that satisfy it.
                            It's an optional field. Default value is 1 and 0 is not allowed.
                          format: int32
                          minimum: 1
                          type: integer
                        topologyKey:
                          description: |-
                            TopologyKey is the key of cluster labels. Clusters that have a label with this key
                            and identical values are considered to be in the same topology.
                            We consider each <key, value> as a "bucket", and try to put balanced number
                            of replicas of the resource into each bucket honor the `MaxSkew` value.
                            It's a required field.
                          type: string
                        whenUnsatisfiable:
                          description: |-
                            WhenUnsatisfiable indicates how to deal with the resource if it doesn't satisfy
                            the spread constraint.
                            - DoNotSchedule (default) tells the scheduler not to schedule it.
                            - ScheduleAnyway tells the scheduler to schedule the resource in any cluster,
                              but giving higher precedence to topologies that would help reduce the skew.
                            It's an optional field.
                          type: string
                      required:
                      - topologyKey
                      type: object
                    type: array
                type: object
              policyHash:
                description: PolicyHash is the sha-256 hash value of the Policy field.
                format: byte
                type: string
            required:
            - policyHash
            type: object
          status:
            description: The observed status of SchedulingPolicySnapshot.
            properties:
              conditions:
                description: Conditions is an array of current observed conditions
                  for SchedulingPolicySnapshot.
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  properties:
                    lastTransitionTime:
                      description: |-
                        lastTransitionTime is the last time the condition transitioned from one status to another.
                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: |-
                        message is a human readable message indicating details about the transition.
                        This may be an empty string.
                      maxLength: 32768
                      type: string
                    observedGeneration:
                      description: |-
                        observedGeneration represents the .metadata.generation that the condition was set based upon.
                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                        with respect to the current state of the instance.
                      format: int64
                      minimum: 0
                      type: integer
                    reason:
                      description: |-
                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
                        Producers of specific condition types may define expected values and meanings for this field,
                        and whether the values are considered a guaranteed API.
                        The value should be a CamelCase string.
                        This field may not be empty.
                      maxLength: 1024
                      minLength: 1
                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                      type: string
                    status:
                      description: status of the condition, one of True, False, Unknown.
                      enum:
                      - "True"
                      - "False"
                      - Unknown
                      type: string
                    type:
                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
                      maxLength: 316
                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                      type: string
                  required:
                  - lastTransitionTime
                  - message
                  - reason
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
              observedCRPGeneration:
                description: |-
                  ObservedCRPGeneration is the generation of the CRP which the scheduler uses to perform
                  the scheduling cycle and prepare the scheduling status.
                format: int64
                type: integer
              targetClusters:
                description: |-
                  ClusterDecisions contains a list of names of member clusters considered by the scheduler.
                  Note that all the selected clusters must present in the list while not all the
                  member clusters are guaranteed to be listed due to the size limit. We will try to
                  add the clusters that can provide the most insight to the list first.
                items:
                  description: |-
                    ClusterDecision represents a decision from a placement
                    An 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
                        placement decisions for the Placement.
                      type: string
                    clusterScore:
                      description: ClusterScore represents the score of the cluster
                        calculated by the scheduler.
                      properties:
                        affinityScore:
                          description: |-
                            AffinityScore represents the affinity score of the cluster calculated by the last
                            scheduling decision based on the preferred affinity selector.
                            An affinity score may not present if the cluster does not meet the required affinity.
                          format: int32
                          type: integer
                        priorityScore:
                          description: |-
                            TopologySpreadScore represents the priority score of the cluster calculated by the last
                            scheduling decision based on the topology spread applied to the cluster.
                            A priority score may not present if the cluster does not meet the topology spread.
                          format: int32
                          type: integer
                      type: object
                    reason:
                      description: Reason represents the reason why the cluster is
                        selected or not.
                      type: string
                    selected:
                      description: Selected indicates if this cluster is selected
                        by the scheduler.
                      type: boolean
                  required:
                  - clusterName
                  - reason
                  - selected
                  type: object
                maxItems: 1000
                type: array
            required:
            - observedCRPGeneration
            type: object
        required:
        - spec
        type: object
    served: true
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



config/crd/bases/placement.kubernetes-fleet.io_clusterschedulingpolicysnapshots.yaml [959:1250]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                  If the operator is Gt (greater than), Ge (greater than or equal to), Lt (less than),
                                                  or `Le` (less than or equal to), Eq (equal to), or Ne (ne), exactly one value must be
                                                  specified in the list.
                                                items:
                                                  type: string
                                                maxItems: 1
                                                type: array
                                            required:
                                            - name
                                            - operator
                                            - values
                                            type: object
                                          type: array
                                      required:
                                      - matchExpressions
                                      type: object
                                    propertySorter:
                                      description: |-
                                        PropertySorter sorts all matching clusters by a specific property and assigns different weights
                                        to each cluster based on their observed property values.

                                        At this moment, PropertySorter can only be used with
                                        `PreferredDuringSchedulingIgnoredDuringExecution` affinity terms.

                                        This field is beta-level; it is for the property-based scheduling feature and is only
                                        functional when a property provider is enabled in the deployment.
                                      properties:
                                        name:
                                          description: Name is the name of the property
                                            which Fleet sorts clusters by.
                                          type: string
                                        sortOrder:
                                          description: |-
                                            SortOrder explains how Fleet should perform the sort; specifically, whether Fleet should
                                            sort in ascending or descending order.
                                          type: string
                                      required:
                                      - name
                                      - sortOrder
                                      type: object
                                  type: object
                                maxItems: 10
                                type: array
                            required:
                            - clusterSelectorTerms
                            type: object
                        type: object
                    type: object
                  clusterNames:
                    description: |-
                      ClusterNames contains a list of names of MemberCluster to place the selected resources.
                      Only valid if the placement type is "PickFixed"
                    items:
                      type: string
                    maxItems: 100
                    type: array
                  numberOfClusters:
                    description: NumberOfClusters of placement. Only valid if the
                      placement type is "PickN".
                    format: int32
                    minimum: 0
                    type: integer
                  placementType:
                    default: PickAll
                    description: Type of placement. Can be "PickAll", "PickN" or "PickFixed".
                      Default is PickAll.
                    enum:
                    - PickAll
                    - PickN
                    - PickFixed
                    type: string
                  tolerations:
                    description: |-
                      If specified, the ClusterResourcePlacement's Tolerations.
                      Tolerations cannot be updated or deleted.

                      This field is beta-level and is for the taints and tolerations feature.
                    items:
                      description: |-
                        Toleration allows ClusterResourcePlacement to tolerate any taint that matches
                        the triple <key,value,effect> using the matching operator <operator>.
                      properties:
                        effect:
                          description: |-
                            Effect indicates the taint effect to match. Empty means match all taint effects.
                            When specified, only allowed value is NoSchedule.
                          enum:
                          - NoSchedule
                          type: string
                        key:
                          description: |-
                            Key is the taint key that the toleration applies to. Empty means match all taint keys.
                            If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                          type: string
                        operator:
                          default: Equal
                          description: |-
                            Operator represents a key's relationship to the value.
                            Valid operators are Exists and Equal. Defaults to Equal.
                            Exists is equivalent to wildcard for value, so that a
                            ClusterResourcePlacement can tolerate all taints of a particular category.
                          enum:
                          - Equal
                          - Exists
                          type: string
                        value:
                          description: |-
                            Value is the taint value the toleration matches to.
                            If the operator is Exists, the value should be empty, otherwise just a regular string.
                          type: string
                      type: object
                    maxItems: 100
                    type: array
                  topologySpreadConstraints:
                    description: |-
                      TopologySpreadConstraints describes how a group of resources ought to spread across multiple topology
                      domains. Scheduler will schedule resources in a way which abides by the constraints.
                      All topologySpreadConstraints are ANDed.
                      Only valid if the placement type is "PickN".
                    items:
                      description: TopologySpreadConstraint specifies how to spread
                        resources among the given cluster topology.
                      properties:
                        maxSkew:
                          default: 1
                          description: |-
                            MaxSkew describes the degree to which resources may be unevenly distributed.
                            When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                            between the number of resource copies in the target topology and the global minimum.
                            The global minimum is the minimum number of resource copies in a domain.
                            When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                            to topologies that satisfy it.
                            It's an optional field. Default value is 1 and 0 is not allowed.
                          format: int32
                          minimum: 1
                          type: integer
                        topologyKey:
                          description: |-
                            TopologyKey is the key of cluster labels. Clusters that have a label with this key
                            and identical values are considered to be in the same topology.
                            We consider each <key, value> as a "bucket", and try to put balanced number
                            of replicas of the resource into each bucket honor the `MaxSkew` value.
                            It's a required field.
                          type: string
                        whenUnsatisfiable:
                          description: |-
                            WhenUnsatisfiable indicates how to deal with the resource if it doesn't satisfy
                            the spread constraint.
                            - DoNotSchedule (default) tells the scheduler not to schedule it.
                            - ScheduleAnyway tells the scheduler to schedule the resource in any cluster,
                              but giving higher precedence to topologies that would help reduce the skew.
                            It's an optional field.
                          type: string
                      required:
                      - topologyKey
                      type: object
                    type: array
                type: object
              policyHash:
                description: PolicyHash is the sha-256 hash value of the Policy field.
                format: byte
                type: string
            required:
            - policyHash
            type: object
          status:
            description: The observed status of SchedulingPolicySnapshot.
            properties:
              conditions:
                description: Conditions is an array of current observed conditions
                  for SchedulingPolicySnapshot.
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  properties:
                    lastTransitionTime:
                      description: |-
                        lastTransitionTime is the last time the condition transitioned from one status to another.
                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: |-
                        message is a human readable message indicating details about the transition.
                        This may be an empty string.
                      maxLength: 32768
                      type: string
                    observedGeneration:
                      description: |-
                        observedGeneration represents the .metadata.generation that the condition was set based upon.
                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
                        with respect to the current state of the instance.
                      format: int64
                      minimum: 0
                      type: integer
                    reason:
                      description: |-
                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
                        Producers of specific condition types may define expected values and meanings for this field,
                        and whether the values are considered a guaranteed API.
                        The value should be a CamelCase string.
                        This field may not be empty.
                      maxLength: 1024
                      minLength: 1
                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                      type: string
                    status:
                      description: status of the condition, one of True, False, Unknown.
                      enum:
                      - "True"
                      - "False"
                      - Unknown
                      type: string
                    type:
                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
                      maxLength: 316
                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                      type: string
                  required:
                  - lastTransitionTime
                  - message
                  - reason
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
              observedCRPGeneration:
                description: |-
                  ObservedCRPGeneration is the generation of the CRP which the scheduler uses to perform
                  the scheduling cycle and prepare the scheduling status.
                format: int64
                type: integer
              targetClusters:
                description: |-
                  ClusterDecisions contains a list of names of member clusters considered by the scheduler.
                  Note that all the selected clusters must present in the list while not all the
                  member clusters are guaranteed to be listed due to the size limit. We will try to
                  add the clusters that can provide the most insight to the list first.
                items:
                  description: |-
                    ClusterDecision represents a decision from a placement
                    An 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
                        placement decisions for the Placement.
                      type: string
                    clusterScore:
                      description: ClusterScore represents the score of the cluster
                        calculated by the scheduler.
                      properties:
                        affinityScore:
                          description: |-
                            AffinityScore represents the affinity score of the cluster calculated by the last
                            scheduling decision based on the preferred affinity selector.
                            An affinity score may not present if the cluster does not meet the required affinity.
                          format: int32
                          type: integer
                        priorityScore:
                          description: |-
                            TopologySpreadScore represents the priority score of the cluster calculated by the last
                            scheduling decision based on the topology spread applied to the cluster.
                            A priority score may not present if the cluster does not meet the topology spread.
                          format: int32
                          type: integer
                      type: object
                    reason:
                      description: Reason represents the reason why the cluster is
                        selected or not.
                      type: string
                    selected:
                      description: Selected indicates if this cluster is selected
                        by the scheduler.
                      type: boolean
                  required:
                  - clusterName
                  - reason
                  - selected
                  type: object
                maxItems: 1000
                type: array
            required:
            - observedCRPGeneration
            type: object
        required:
        - spec
        type: object
    served: true
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



