import { Resource } from '@c6o/kubeclient-contracts'; import { RawExtension } from '../runtime'; import { LabelSelector, ListMeta, ObjectMeta, Time } from '../meta/v1'; import { PersistentVolumeClaim, PodTemplateSpec } from '../core/v1'; export interface ControllerRevision extends Resource { apiVersion?: 'apps/v1'; data?: RawExtension; kind?: 'ControllerRevision'; metadata?: ObjectMeta; revision: number; } export interface ControllerRevisionList extends Resource { apiVersion?: 'apps/v1'; items: Array; kind?: 'ControllerRevisionList'; metadata?: ListMeta; } export interface DaemonSet extends Resource { apiVersion?: 'apps/v1'; kind?: 'DaemonSet'; metadata?: ObjectMeta; spec?: DaemonSetSpec; readonly status?: DaemonSetStatus; } export interface DaemonSetCondition { lastTransitionTime?: Time; message?: string; reason?: string; status: string; type: string; } export interface DaemonSetList extends Resource { apiVersion?: 'apps/v1'; items: Array; kind?: 'DaemonSetList'; metadata?: ListMeta; } export interface DaemonSetSpec { minReadySeconds?: number; revisionHistoryLimit?: number; selector: LabelSelector; template: PodTemplateSpec; updateStrategy?: DaemonSetUpdateStrategy; } export interface DaemonSetStatus { collisionCount?: number; conditions?: Array; currentNumberScheduled: number; desiredNumberScheduled: number; numberAvailable?: number; numberMisscheduled: number; numberReady: number; numberUnavailable?: number; observedGeneration?: number; updatedNumberScheduled?: number; } export interface DaemonSetUpdateStrategy { rollingUpdate?: RollingUpdateDaemonSet; type?: string; } export interface Deployment extends Resource { apiVersion?: 'apps/v1'; kind?: 'Deployment'; metadata?: ObjectMeta; spec?: DeploymentSpec; status?: DeploymentStatus; } export interface DeploymentCondition { lastTransitionTime?: Time; lastUpdateTime?: Time; message?: string; reason?: string; status: string; type: string; } export interface DeploymentList extends Resource { apiVersion?: 'apps/v1'; items: Array; kind?: 'DeploymentList'; metadata?: ListMeta; } export interface DeploymentSpec { minReadySeconds?: number; paused?: boolean; progressDeadlineSeconds?: number; replicas?: number; revisionHistoryLimit?: number; selector: LabelSelector; strategy?: DeploymentStrategy; template: PodTemplateSpec; } export interface DeploymentStatus { availableReplicas?: number; collisionCount?: number; conditions?: Array; observedGeneration?: number; readyReplicas?: number; replicas?: number; unavailableReplicas?: number; updatedReplicas?: number; } export interface DeploymentStrategy { rollingUpdate?: RollingUpdateDeployment; type?: string; } export interface ReplicaSet extends Resource { apiVersion?: 'apps/v1'; kind?: 'ReplicaSet'; metadata?: ObjectMeta; spec?: ReplicaSetSpec; readonly status?: ReplicaSetStatus; } export interface ReplicaSetCondition { lastTransitionTime?: Time; message?: string; reason?: string; status: string; type: string; } export interface ReplicaSetList extends Resource { apiVersion?: 'apps/v1'; items: Array; kind?: 'ReplicaSetList'; metadata?: ListMeta; } export interface ReplicaSetSpec { minReadySeconds?: number; replicas?: number; selector: LabelSelector; template?: PodTemplateSpec; } export interface ReplicaSetStatus { availableReplicas?: number; conditions?: Array; fullyLabeledReplicas?: number; observedGeneration?: number; readyReplicas?: number; replicas: number; } export interface RollingUpdateDaemonSet { maxSurge?: number | string; maxUnavailable?: number | string; } export interface RollingUpdateDeployment { maxSurge?: number | string; maxUnavailable?: number | string; } export interface RollingUpdateStatefulSetStrategy { partition?: number; } export interface StatefulSet extends Resource { apiVersion?: 'apps/v1'; kind?: 'StatefulSet'; metadata?: ObjectMeta; spec?: StatefulSetSpec; status?: StatefulSetStatus; } export interface StatefulSetCondition { lastTransitionTime?: Time; message?: string; reason?: string; status: string; type: string; } export interface StatefulSetList extends Resource { apiVersion?: 'apps/v1'; items: Array; kind?: 'StatefulSetList'; metadata?: ListMeta; } export interface StatefulSetSpec { podManagementPolicy?: string; replicas?: number; revisionHistoryLimit?: number; selector: LabelSelector; serviceName: string; template: PodTemplateSpec; updateStrategy?: StatefulSetUpdateStrategy; volumeClaimTemplates?: Array; } export interface StatefulSetStatus { collisionCount?: number; conditions?: Array; currentReplicas?: number; currentRevision?: string; observedGeneration?: number; readyReplicas?: number; replicas: number; updateRevision?: string; updatedReplicas?: number; } export interface StatefulSetUpdateStrategy { rollingUpdate?: RollingUpdateStatefulSetStrategy; type?: string; }