@soft-stech/fleet
Version:
917 lines • 193 kB
TypeScript
import { z } from "zod";
/**
* Cluster corresponds to a Kubernetes cluster. Fleet deploys bundles to targeted clusters.
* Clusters to which Fleet deploys manifests are referred to as downstream
* clusters. In the single cluster use case, the Fleet manager Kubernetes
* cluster is both the manager and downstream cluster at the same time.
*/
export declare const IClusterSchema: z.ZodObject<{
/**
* APIVersion defines the versioned schema of this representation of an object.
* Servers should convert recognized schemas to the latest internal value, and
* may reject unrecognized values.
* More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
*/
apiVersion: z.ZodLiteral<"fleet.cattle.io/v1alpha1">;
/**
* Kind is a string value representing the REST resource this object represents.
* Servers may infer this from the endpoint the client submits requests to.
* Cannot be updated.
* In CamelCase.
* More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
kind: z.ZodLiteral<"Cluster">;
metadata: z.ZodOptional<z.ZodObject<{
annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
creationTimestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
deletionGracePeriodSeconds: z.ZodOptional<z.ZodNumber>;
deletionTimestamp: z.ZodOptional<z.ZodNullable<z.ZodString>>;
finalizers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
generateName: z.ZodOptional<z.ZodString>;
generation: z.ZodOptional<z.ZodNumber>;
labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
managedFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
apiVersion: z.ZodOptional<z.ZodString>;
fieldsType: z.ZodOptional<z.ZodString>;
fieldsV1: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
manager: z.ZodOptional<z.ZodString>;
operation: z.ZodOptional<z.ZodString>;
subresource: z.ZodOptional<z.ZodString>;
time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
apiVersion?: string | undefined;
fieldsType?: string | undefined;
fieldsV1?: {} | undefined;
manager?: string | undefined;
operation?: string | undefined;
subresource?: string | undefined;
time?: string | null | undefined;
}, {
apiVersion?: string | undefined;
fieldsType?: string | undefined;
fieldsV1?: {} | undefined;
manager?: string | undefined;
operation?: string | undefined;
subresource?: string | undefined;
time?: string | null | undefined;
}>, "many">>; /**
* A list of node selector requirements by node's labels.
*/
name: z.ZodOptional<z.ZodString>;
namespace: z.ZodOptional<z.ZodString>;
ownerReferences: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* A list of node selector requirements by node's fields.
*/
apiVersion: z.ZodString;
blockOwnerDeletion: z.ZodOptional<z.ZodBoolean>;
controller: z.ZodOptional<z.ZodBoolean>;
kind: z.ZodString;
name: z.ZodString;
uid: z.ZodString; /**
* The label key that the selector applies to.
*/
}, "strip", z.ZodTypeAny, {
apiVersion: string;
kind: string;
name: string;
uid: string;
blockOwnerDeletion?: boolean | undefined; /**
* Represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
*/
controller?: boolean | undefined;
}, {
apiVersion: string;
kind: string;
name: string;
uid: string;
blockOwnerDeletion?: boolean | undefined;
controller?: boolean | undefined;
}>, "many">>;
resourceVersion: z.ZodOptional<z.ZodString>;
selfLink: z.ZodOptional<z.ZodString>;
uid: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
name?: string | undefined;
uid?: string | undefined;
resourceVersion?: string | undefined;
selfLink?: string | undefined;
annotations?: Record<string, string> | undefined;
creationTimestamp?: string | null | undefined;
deletionGracePeriodSeconds?: number | undefined;
deletionTimestamp?: string | null | undefined;
finalizers?: string[] | undefined;
generateName?: string | undefined;
generation?: number | undefined;
labels?: Record<string, string> | undefined;
managedFields?: {
apiVersion?: string | undefined;
fieldsType?: string | undefined;
fieldsV1?: {} | undefined;
manager?: string | undefined;
operation?: string | undefined;
subresource?: string | undefined;
time?: string | null | undefined;
}[] | undefined; /**
* A label query over a set of resources, in this case pods.
* If it's null, this PodAffinityTerm matches with no Pods.
*/
namespace?: string | undefined;
ownerReferences?: {
apiVersion: string;
kind: string;
name: string;
uid: string;
blockOwnerDeletion?: boolean | undefined;
controller?: boolean | undefined;
}[] | undefined; /**
* matchExpressions is a list of label selector requirements. The requirements are ANDed.
*/
}, {
name?: string | undefined;
uid?: string | undefined;
resourceVersion?: string | undefined;
selfLink?: string | undefined;
annotations?: Record<string, string> | undefined;
creationTimestamp?: string | null | undefined; /**
* key is the label key that the selector applies to.
*/
deletionGracePeriodSeconds?: number | undefined;
deletionTimestamp?: string | null | undefined;
finalizers?: string[] | undefined;
generateName?: string | undefined;
generation?: number | undefined; /**
* operator represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists and DoesNotExist.
*/
labels?: Record<string, string> | undefined;
managedFields?: {
apiVersion?: string | undefined;
fieldsType?: string | undefined;
fieldsV1?: {} | undefined;
manager?: string | undefined;
operation?: string | undefined;
subresource?: string | undefined; /**
* values is an array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. This array is replaced during a strategic
* merge patch.
*/
time?: string | null | undefined;
}[] | undefined;
namespace?: string | undefined;
ownerReferences?: {
apiVersion: string;
kind: string;
name: string;
uid: string;
blockOwnerDeletion?: boolean | undefined;
controller?: boolean | undefined;
}[] | undefined;
}>>;
spec: z.ZodOptional<z.ZodObject<{
/**
* AgentAffinity overrides the default affinity for the cluster's agent
* deployment. If this value is nil the default affinity is used.
*/
agentAffinity: z.ZodOptional<z.ZodObject<{
/**
* Describes node affinity scheduling rules for the pod.
*/
nodeAffinity: z.ZodOptional<z.ZodObject<{
/**
* The scheduler will prefer to schedule pods to nodes that satisfy
* the affinity expressions specified by this field, but it may choose
* a node that violates one or more of the expressions. The node that is
* most preferred is the one with the greatest sum of weights, i.e.
* for each node that meets all of the scheduling requirements (resource
* request, requiredDuringScheduling affinity expressions, etc.),
* compute a sum by iterating through the elements of this field and adding
* "weight" to the sum if the node matches the corresponding matchExpressions; the
* node(s) with the highest sum are the most preferred.
*/
preferredDuringSchedulingIgnoredDuringExecution: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* A node selector term, associated with the corresponding weight.
*/
preference: z.ZodObject<{
/**
* A list of node selector requirements by node's labels.
*/
matchExpressions: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* The label key that the selector applies to.
*/
key: z.ZodString;
/**
* Represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
*/
operator: z.ZodString;
/**
* An array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. If the operator is Gt or Lt, the values
* array must have a single element, which will be interpreted as an integer.
* This array is replaced during a strategic merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
/**
* A list of node selector requirements by node's fields.
*/
matchFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* The label key that the selector applies to.
*/
key: z.ZodString;
/**
* Represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
*/
operator: z.ZodString;
/**
* An array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. If the operator is Gt or Lt, the values
* array must have a single element, which will be interpreted as an integer.
* This array is replaced during a strategic merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}>;
/**
* Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
* @format int32
*/
weight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
preference: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
};
weight: number;
}, {
preference: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
};
weight: number;
}>, "many">>;
/**
* If the affinity requirements specified by this field are not met at
* scheduling time, the pod will not be scheduled onto the node.
* If the affinity requirements specified by this field cease to be met
* at some point during pod execution (e.g. due to an update), the system
* may or may not try to eventually evict the pod from its node.
*/
requiredDuringSchedulingIgnoredDuringExecution: z.ZodOptional<z.ZodObject<{
/**
* Required. A list of node selector terms. The terms are ORed.
*/
nodeSelectorTerms: z.ZodArray<z.ZodObject<{
/**
* A list of node selector requirements by node's labels.
*/
matchExpressions: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* The label key that the selector applies to.
*/
key: z.ZodString;
/**
* Represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
*/
operator: z.ZodString;
/**
* An array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. If the operator is Gt or Lt, the values
* array must have a single element, which will be interpreted as an integer.
* This array is replaced during a strategic merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
/**
* A list of node selector requirements by node's fields.
*/
matchFields: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* The label key that the selector applies to.
*/
key: z.ZodString;
/**
* Represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
*/
operator: z.ZodString;
/**
* An array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. If the operator is Gt or Lt, the values
* array must have a single element, which will be interpreted as an integer.
* This array is replaced during a strategic merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}>, "many">;
}, "strip", z.ZodTypeAny, {
nodeSelectorTerms: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}[];
}, {
nodeSelectorTerms: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}[];
}>>;
}, "strip", z.ZodTypeAny, {
preferredDuringSchedulingIgnoredDuringExecution?: {
preference: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
};
weight: number;
}[] | undefined;
requiredDuringSchedulingIgnoredDuringExecution?: {
nodeSelectorTerms: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}[];
} | undefined;
}, {
preferredDuringSchedulingIgnoredDuringExecution?: {
preference: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
};
weight: number;
}[] | undefined;
requiredDuringSchedulingIgnoredDuringExecution?: {
nodeSelectorTerms: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchFields?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
}[];
} | undefined;
}>>;
/**
* Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
*/
podAffinity: z.ZodOptional<z.ZodObject<{
/**
* The scheduler will prefer to schedule pods to nodes that satisfy
* the affinity expressions specified by this field, but it may choose
* a node that violates one or more of the expressions. The node that is
* most preferred is the one with the greatest sum of weights, i.e.
* for each node that meets all of the scheduling requirements (resource
* request, requiredDuringScheduling affinity expressions, etc.),
* compute a sum by iterating through the elements of this field and adding
* "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
* node(s) with the highest sum are the most preferred.
*/
preferredDuringSchedulingIgnoredDuringExecution: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* Required. A pod affinity term, associated with the corresponding weight.
*/
podAffinityTerm: z.ZodObject<{
/**
* A label query over a set of resources, in this case pods.
* If it's null, this PodAffinityTerm matches with no Pods.
*/
labelSelector: z.ZodOptional<z.ZodObject<{
/**
* matchExpressions is a list of label selector requirements. The requirements are ANDed.
*/
matchExpressions: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* key is the label key that the selector applies to.
*/
key: z.ZodString;
/**
* operator represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists and DoesNotExist.
*/
operator: z.ZodString;
/**
* values is an array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. This array is replaced during a strategic
* merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
/**
* matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*/
matchLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}>>;
/**
* MatchLabelKeys is a set of pod label keys to select which pods will
* be taken into consideration. The keys are used to lookup values from the
* incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
* to select the group of existing pods which pods will be taken into consideration
* for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
* pod labels will be ignored. The default value is empty.
* The same key is forbidden to exist in both matchLabelKeys and labelSelector.
* Also, matchLabelKeys cannot be set when labelSelector isn't set.
* This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
*/
matchLabelKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/**
* MismatchLabelKeys is a set of pod label keys to select which pods will
* be taken into consideration. The keys are used to lookup values from the
* incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
* to select the group of existing pods which pods will be taken into consideration
* for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
* pod labels will be ignored. The default value is empty.
* The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
* Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
* This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
*/
mismatchLabelKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/**
* A label query over the set of namespaces that the term applies to.
* The term is applied to the union of the namespaces selected by this field
* and the ones listed in the namespaces field.
* null selector and null or empty namespaces list means "this pod's namespace".
* An empty selector ({}) matches all namespaces.
*/
namespaceSelector: z.ZodOptional<z.ZodObject<{
/**
* matchExpressions is a list of label selector requirements. The requirements are ANDed.
*/
matchExpressions: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* key is the label key that the selector applies to.
*/
key: z.ZodString;
/**
* operator represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists and DoesNotExist.
*/
operator: z.ZodString;
/**
* values is an array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. This array is replaced during a strategic
* merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
/**
* matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*/
matchLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}>>;
/**
* namespaces specifies a static list of namespace names that the term applies to.
* The term is applied to the union of the namespaces listed in this field
* and the ones selected by namespaceSelector.
* null or empty namespaces list and null namespaceSelector means "this pod's namespace".
*/
namespaces: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/**
* This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
* the labelSelector in the specified namespaces, where co-located is defined as running on a node
* whose value of the label with key topologyKey matches that of any node on which any of the
* selected pods is running.
* Empty topologyKey is not allowed.
*/
topologyKey: z.ZodString;
}, "strip", z.ZodTypeAny, {
topologyKey: string;
namespaceSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
labelSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
matchLabelKeys?: string[] | undefined;
mismatchLabelKeys?: string[] | undefined;
namespaces?: string[] | undefined;
}, {
topologyKey: string;
namespaceSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
labelSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
matchLabelKeys?: string[] | undefined;
mismatchLabelKeys?: string[] | undefined;
namespaces?: string[] | undefined;
}>;
/**
* weight associated with matching the corresponding podAffinityTerm,
* in the range 1-100.
* @format int32
*/
weight: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
weight: number;
podAffinityTerm: {
topologyKey: string;
namespaceSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
labelSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
matchLabelKeys?: string[] | undefined;
mismatchLabelKeys?: string[] | undefined;
namespaces?: string[] | undefined;
};
}, {
weight: number;
podAffinityTerm: {
topologyKey: string;
namespaceSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
labelSelector?: {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
} | undefined;
matchLabelKeys?: string[] | undefined;
mismatchLabelKeys?: string[] | undefined;
namespaces?: string[] | undefined;
};
}>, "many">>;
/**
* If the affinity requirements specified by this field are not met at
* scheduling time, the pod will not be scheduled onto the node.
* If the affinity requirements specified by this field cease to be met
* at some point during pod execution (e.g. due to a pod label update), the
* system may or may not try to eventually evict the pod from its node.
* When there are multiple elements, the lists of nodes corresponding to each
* podAffinityTerm are intersected, i.e. all terms must be satisfied.
*/
requiredDuringSchedulingIgnoredDuringExecution: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* A label query over a set of resources, in this case pods.
* If it's null, this PodAffinityTerm matches with no Pods.
*/
labelSelector: z.ZodOptional<z.ZodObject<{
/**
* matchExpressions is a list of label selector requirements. The requirements are ANDed.
*/
matchExpressions: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* key is the label key that the selector applies to.
*/
key: z.ZodString;
/**
* operator represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists and DoesNotExist.
*/
operator: z.ZodString;
/**
* values is an array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. This array is replaced during a strategic
* merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
/**
* matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*/
matchLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}>>;
/**
* MatchLabelKeys is a set of pod label keys to select which pods will
* be taken into consideration. The keys are used to lookup values from the
* incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
* to select the group of existing pods which pods will be taken into consideration
* for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
* pod labels will be ignored. The default value is empty.
* The same key is forbidden to exist in both matchLabelKeys and labelSelector.
* Also, matchLabelKeys cannot be set when labelSelector isn't set.
* This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
*/
matchLabelKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/**
* MismatchLabelKeys is a set of pod label keys to select which pods will
* be taken into consideration. The keys are used to lookup values from the
* incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
* to select the group of existing pods which pods will be taken into consideration
* for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
* pod labels will be ignored. The default value is empty.
* The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
* Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
* This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
*/
mismatchLabelKeys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
/**
* A label query over the set of namespaces that the term applies to.
* The term is applied to the union of the namespaces selected by this field
* and the ones listed in the namespaces field.
* null selector and null or empty namespaces list means "this pod's namespace".
* An empty selector ({}) matches all namespaces.
*/
namespaceSelector: z.ZodOptional<z.ZodObject<{
/**
* matchExpressions is a list of label selector requirements. The requirements are ANDed.
*/
matchExpressions: z.ZodOptional<z.ZodArray<z.ZodObject<{
/**
* key is the label key that the selector applies to.
*/
key: z.ZodString;
/**
* operator represents a key's relationship to a set of values.
* Valid operators are In, NotIn, Exists and DoesNotExist.
*/
operator: z.ZodString;
/**
* values is an array of string values. If the operator is In or NotIn,
* the values array must be non-empty. If the operator is Exists or DoesNotExist,
* the values array must be empty. This array is replaced during a strategic
* merge patch.
*/
values: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
key: string;
operator: string;
values?: string[] | undefined;
}, {
key: string;
operator: string;
values?: string[] | undefined;
}>, "many">>;
/**
* matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
* map is equivalent to an element of matchExpressions, whose key field is "key", the
* operator is "In", and the values array contains only "value". The requirements are ANDed.
*/
matchLabels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}, {
matchExpressions?: {
key: string;
operator: string;
values?: string[] | undefined;
}[] | undefined;
matchLabels?: Record<string, string> | undefined;
}>>;
/**
* name