cdktf-crd
Version:
100 lines (99 loc) • 5.42 kB
TypeScript
import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest";
import { Construct } from "constructs";
export declare class KubernetesResourceFlavorV1beta1Manifest extends Manifest {
constructor(scope: Construct, id: string, config: KubernetesResourceFlavorV1beta1ManifestConfig);
}
export interface KubernetesResourceFlavorV1beta1ManifestConfig extends ManifestConfig {
manifest: {
apiVersion?: "kueue.x-k8s.io/v1beta1";
kind?: "ResourceFlavor";
metadata: {
annotations?: {
[key: string]: string;
};
labels?: {
[key: string]: string;
};
name: string;
namespace?: string;
};
/** @description ResourceFlavorSpec defines the desired state of the ResourceFlavor */
spec?: {
/** @description nodeLabels are labels that associate the ResourceFlavor with Nodes that
* have the same labels.
* When a Workload is admitted, its podsets can only get assigned
* ResourceFlavors whose nodeLabels match the nodeSelector and nodeAffinity
* fields.
* Once a ResourceFlavor is assigned to a podSet, the ResourceFlavor's
* nodeLabels should be injected into the pods of the Workload by the
* controller that integrates with the Workload object.
*
* nodeLabels can be up to 8 elements. */
nodeLabels?: {
[key: string]: string;
};
/** @description nodeTaints are taints that the nodes associated with this ResourceFlavor
* have.
* Workloads' podsets must have tolerations for these nodeTaints in order to
* get assigned this ResourceFlavor during admission.
* Only the 'NoSchedule' and 'NoExecute' taint effects are evaluated,
* while 'PreferNoSchedule' is ignored.
*
* An example of a nodeTaint is
* cloud.provider.com/preemptible="true":NoSchedule
*
* nodeTaints can be up to 8 elements. */
nodeTaints?: {
/** @description Required. The effect of the taint on pods
* that do not tolerate the taint.
* Valid effects are NoSchedule, PreferNoSchedule and NoExecute. */
effect: string;
/** @description Required. The taint key to be applied to a node. */
key: string;
/**
* Format: date-time
* @description TimeAdded represents the time at which the taint was added.
* It is only written for NoExecute taints.
*/
timeAdded?: string;
/** @description The taint value corresponding to the taint key. */
value?: string;
}[];
/** @description tolerations are extra tolerations that will be added to the pods admitted in
* the quota associated with this resource flavor.
*
* An example of a toleration is
* cloud.provider.com/preemptible="true":NoSchedule
*
* tolerations can be up to 8 elements. */
tolerations?: {
/** @description Effect indicates the taint effect to match. Empty means match all taint effects.
* When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. */
effect?: string;
/** @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. */
key?: string;
/** @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 pod can
* tolerate all taints of a particular category. */
operator?: string;
/**
* Format: int64
* @description TolerationSeconds represents the period of time the toleration (which must be
* of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
* it is not set, which means tolerate the taint forever (do not evict). Zero and
* negative values will be treated as 0 (evict immediately) by the system.
*/
tolerationSeconds?: number;
/** @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. */
value?: string;
}[];
/** @description topologyName indicates topology for the TAS ResourceFlavor.
* When specified, it enables scraping of the topology information from the
* nodes matching to the Resource Flavor node labels. */
topologyName?: string;
};
};
}