/* tslint:disable */ /* eslint-disable */ /** * Kubernetes * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: unversioned * * * 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'; /** * DeviceConstraint must have exactly one field set besides Requests. * @export * @interface IoK8sApiResourceV1alpha3DeviceConstraint */ export interface IoK8sApiResourceV1alpha3DeviceConstraint { /** * MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices. * * For example, if you specified "dra.example.com/numa" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen. * * Must include the domain qualifier. * @type {string} * @memberof IoK8sApiResourceV1alpha3DeviceConstraint */ matchAttribute?: string; /** * Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim. * * References to subrequests must include the name of the main request and may include the subrequest using the format
[/]. If just the main request is given, the constraint applies to all subrequests. * @type {Array} * @memberof IoK8sApiResourceV1alpha3DeviceConstraint */ requests?: Array; } export function IoK8sApiResourceV1alpha3DeviceConstraintFromJSON( json: any, ): IoK8sApiResourceV1alpha3DeviceConstraint { return IoK8sApiResourceV1alpha3DeviceConstraintFromJSONTyped(json, false); } export function IoK8sApiResourceV1alpha3DeviceConstraintFromJSONTyped( json: any, _ignoreDiscriminator: boolean, ): IoK8sApiResourceV1alpha3DeviceConstraint { if (json === undefined || json === null) { return json; } return { matchAttribute: !exists(json, 'matchAttribute') ? undefined : json['matchAttribute'], requests: !exists(json, 'requests') ? undefined : json['requests'], }; } export function IoK8sApiResourceV1alpha3DeviceConstraintToJSON( value?: IoK8sApiResourceV1alpha3DeviceConstraint | null, ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { matchAttribute: value.matchAttribute, requests: value.requests, }; }