/* tslint:disable */ /* eslint-disable */ /** * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists } from '../runtime'; import type { V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution } from './V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution'; import { V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionFromJSON, V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionToJSON, } from './V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution'; /** * Describes node affinity scheduling rules for the pod. * @export * @interface V1NMStateSpecAffinityNodeAffinity */ export interface V1NMStateSpecAffinityNodeAffinity { /** * 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. * @type {any} * @memberof V1NMStateSpecAffinityNodeAffinity */ preferredDuringSchedulingIgnoredDuringExecution?: any | null; /** * * @type {V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution} * @memberof V1NMStateSpecAffinityNodeAffinity */ requiredDuringSchedulingIgnoredDuringExecution?: V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution; } /** * Check if a given object implements the V1NMStateSpecAffinityNodeAffinity interface. */ export function instanceOfV1NMStateSpecAffinityNodeAffinity(_value: object): boolean { const isInstance = true; return isInstance; } export function V1NMStateSpecAffinityNodeAffinityFromJSON( json: any, ): V1NMStateSpecAffinityNodeAffinity { return V1NMStateSpecAffinityNodeAffinityFromJSONTyped(json, false); } export function V1NMStateSpecAffinityNodeAffinityFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): V1NMStateSpecAffinityNodeAffinity { if (json === undefined || json === null) { return json; } return { preferredDuringSchedulingIgnoredDuringExecution: !exists( json, 'preferredDuringSchedulingIgnoredDuringExecution', ) ? undefined : json['preferredDuringSchedulingIgnoredDuringExecution'], requiredDuringSchedulingIgnoredDuringExecution: !exists( json, 'requiredDuringSchedulingIgnoredDuringExecution', ) ? undefined : V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionFromJSON( json['requiredDuringSchedulingIgnoredDuringExecution'], ), }; } export function V1NMStateSpecAffinityNodeAffinityToJSON( value?: V1NMStateSpecAffinityNodeAffinity | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { preferredDuringSchedulingIgnoredDuringExecution: value.preferredDuringSchedulingIgnoredDuringExecution, requiredDuringSchedulingIgnoredDuringExecution: V1NMStateSpecAffinityNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionToJSON( value.requiredDuringSchedulingIgnoredDuringExecution, ), }; }