UNPKG

@linode/api-v4

Version:
126 lines 3.55 kB
import type { EncryptionStatus } from '../linodes'; export type KubernetesTier = 'enterprise' | 'standard'; export type KubernetesTaintEffect = 'NoExecute' | 'NoSchedule' | 'PreferNoSchedule'; export type Label = { [key: string]: string; }; export type NodePoolUpdateStrategy = 'on_recycle' | 'rolling_update'; export interface Taint { effect: KubernetesTaintEffect; key: string; value: string | undefined; } export interface KubernetesCluster { apl_enabled?: boolean; control_plane: ControlPlaneOptions; created: string; id: number; k8s_version: string; label: string; region: string; status: string; /** * Upcoming Feature Notice - LKE-E:** this property may not be available to all customers * and may change in subsequent releases. */ subnet_id?: number; tags: string[]; /** Marked as 'optional' in this existing interface to prevent duplicated code for beta functionality, in line with the apl_enabled approach. * @todo LKE-E - Make this field required once LKE-E is in GA. tier defaults to 'standard' in the API. */ tier?: KubernetesTier; updated: string; /** * Upcoming Feature Notice - LKE-E:** this property may not be available to all customers * and may change in subsequent releases. */ vpc_id?: number; } export interface KubeNodePoolResponse { autoscaler: AutoscaleSettings; count: number; disk_encryption?: EncryptionStatus; id: number; labels: Label; nodes: PoolNodeResponse[]; tags: string[]; taints: Taint[]; type: string; } export interface KubeNodePoolResponseBeta extends KubeNodePoolResponse { firewall_id: number; k8s_version: string; update_strategy: NodePoolUpdateStrategy; } export interface PoolNodeResponse { id: string; instance_id: null | number; status: string; } export interface CreateNodePoolData { count: number; type: string; } export interface CreateNodePoolDataBeta extends CreateNodePoolData { firewall_id?: number; k8s_version?: string; update_strategy?: NodePoolUpdateStrategy; } export interface UpdateNodePoolData { autoscaler: AutoscaleSettings; count: number; labels: Label; tags: string[]; taints: Taint[]; } export interface UpdateNodePoolDataBeta extends UpdateNodePoolData { firewall_id?: number; k8s_version?: string; update_strategy?: NodePoolUpdateStrategy; } export interface AutoscaleSettings { enabled: boolean; max: number; min: number; } export interface KubeConfigResponse { kubeconfig: string; } export interface KubernetesVersion { id: string; } export interface KubernetesTieredVersion { id: string; tier: KubernetesTier; } export interface KubernetesEndpointResponse { endpoint: string; } export interface KubernetesDashboardResponse { url: string; } export interface KubernetesControlPlaneACLPayload { acl: ControlPlaneACLOptions; } export interface ControlPlaneACLOptions { addresses?: null | { ipv4?: null | string[]; ipv6?: null | string[]; }; enabled?: boolean; 'revision-id'?: string; } export interface ControlPlaneOptions { acl?: ControlPlaneACLOptions; high_availability?: boolean; } export interface CreateKubeClusterPayload { apl_enabled?: boolean; control_plane?: ControlPlaneOptions; k8s_version?: string; label?: string; node_pools: CreateNodePoolDataBeta[]; region?: string; tier?: KubernetesTier; } //# sourceMappingURL=types.d.ts.map